Generierung von zufälligen Testdaten mit BW/4HANA

Beitrag teilen über

In unseren Kundenprojekten aber auch bei internen vorhaben erleben wir regelmäßig die Herausforderung sinnvolle Testdaten zu generieren. 

Inhaltsverzeichnis

1. Datenmodell

2. Idee des Datengenerators

3. Umsetzung des Datengenerators mit SAP BW/4HANA 

4. Fazit: Ein einfacher Weg, um Testdaten zu generieren

Anhand eines fiktiven Showcase-Unternehmens möchten wir mit diesem Beitrag einen Weg vorstellen, wie auf einfache Art und Weise mit Hilfe von SAP BW/4HANA und ABAP, Testdaten generiert werden können. 

Datenmodell 

Stellen Sie sich ein fiktives Showcase-Unternehmen vor, welche weltweit EDV-Zubehör über lokale Standorte verkauft. Für unsere Showcases haben wir ein sehr einfaches Sales-Datenmodell aufgesetzt. Die nachfolgende Abbildung zeigt die Entitäten des Sales-Datenmodells und dessen Relation zueinander:

Auszüge aus den Tabellen

Produkte:

Stores:

Sales Orders:

Indizes:

Abkürzung Indizes
VPI Verbraucherpreisindex
MPI Mietpreisindex
PPP Kaufkraftpreisindex
KER Kaufpreis_Immobilien-Einkommens-Relation
MERI Verhältnis Preise zu Miete im Stadtkern
MERA Verhältnis Preise zu Miete außerhalb des Stadtkern
BZKI Bezahlbarkeitsindex
USI Umweltverschmutzungsindex
GVI Gesundheitsversorgungsindex
VKI Verkehrsindex
KLI Klimaindex
SECI Sicherheitsindex

Technisch ist das Datenmodell in SAP BW/4 HANA abgebildet mit Hilfe von InfoObjects und aDSO.

Idee des Datengenerators

In einem Generator sollten die Werte der Sales-Orders generiert werden können. Beeinflusst werden die Werte von Grenzwerten für die Absatzmengen von Produkten sowie durch regionale Verteilungen (Stores). Zudem sollte es möglich sein einen Trend sowie saisonale Faktoren zu berücksichtigen. Die Idee des Generators ist der Abbildung unten skizziert:

Der Nutzer wählt einen Kalendermonat (0CALMONTH) aus und anhand der Einstellungen für Produkte, Stores, den Trend und die Saisonalität generiert ein ABAP-Programm für die letzten drei Jahre der Sales-Orders. 

Der “Index” ist ein Wert mit dem Absatzmengen gewichtet werden können, um einfache Verteilungen abzubilden. Der Index ist am einfachsten am Kalendermonat erklärt. Wenn es keine Saisonalität gibt, dann hat jeder Monat einen Index von 1 und die Summe des Index über alle Monate ergibt 12. Hat ein Monat einen Wert geringer oder höher als 1 kann eine saisonale Gewichtung eingestellt werden. Wichtig ist, dass die Summe weiterhin bei 12 liegt.

Beispiel-Kalkulation:

  • Produkt LCD 42”: Die Absatzmenge darf zwischen 5.000 und 10.000 Stück liegen (wenn alle übrigen Indizes 1,0 sind)
  • Kalendermonat Januar hat einen Index von 0,9 (d.h. im Januar wird weniger als 1/12 der Jahres-Absatzmenge verkauft)
  • Das Kalenderjahr einen einen Trend-Index von 1,2 (d.h. die Absatzmenge ist im Vergleich zu den übrigen Jahren höher)
  • Ein Store unseres Showcase Unternehmens hat einen Index von 2,0 (d.h. der Store verkauft deutlich mehr als andere Stores).

Das Programm soll die Absatzmenge mit folgender Formel berechnen: 7.500 (Zufallswert zwischen 5.000 und 10.000) x 0,9 x 1,2 x 2,0 = 16.200 Absatzmenge. Erzeugt werden Zufallswerte für alle Produkte und Stores, welche in den Stammdaten unseres Beispiel-Unternehmens vorhanden sind.

Umsetzung des Datengenerators mit SAP BW/4HANA

Die nachfolgende Abbildung skizziert die technische Umsetzung des Generators in SAP BW/4 HANA. 

1 | Der Generator nutzt die Stammdaten des Datenmodells unseres Showcase-Unternehmens. Die Produkte und Stores, welche in den entsprechenden InfoObjects eingetragen sind, werden als Grundmenge verwendet.

2 | Die Einstellungen werden durchgeführt über BPC Embedded. Für die Merkmale wird dabei die Zugriffsart “Stammdaten” verwendet, damit immer für alle in den Stammdaten verfügbaren Produkte und Stores “geplant” wird.

Beispiel für Kalendermonate:

3 | Das ABAP Programm fasst schließlich alles zusammen, generiert die Zufallswerte und schreibt diese in das Ziel-aDSO.

Fazit: Ein einfacher Weg, um Testdaten zu generieren

Regelmäßig sind wir in Projekten oder intern als ISR auf die Herausforderung gestoßen, Testdaten generieren zu müssen. Der oben beschriebene Weg ist sehr schnell und einfach umsetzbar. Die Generierung der Datensätze gelingt in wenigen Sekunden und ist reproduzierbar. 

Über ISR

Wir agieren seit 1993 als IT-Berater für Data Analytics und Dokumentenlogistik und fokussieren uns auf das Datenmanagement und die Automatisierung von Prozessen.
Ganzheitlich und im Rahmen eines umfassenden Enterprise Information Managements (EIM) begleiten wir von der strategischen IT-Beratung über konkrete Implementierungen und Lösungen bis hin zum IT-Betrieb.
ISR ist Teil der CENIT EIM-Gruppe.

Besuchen Sie uns virtuell auf diesen Kanälen:

News Kategorien
News Archiv

Zuletzt erschienen

Nächste ISR Events

[tribe_events_list limit=”3″]