Next Level Analytics – Teil 6
Mit Ihrer bestehenden Analytics Lösung können Sie bereits typische Fragestellungen beantworten, wie
- Umschlagshäufigkeit und Bestandsreichweite für Artikel,
- Bestandsbewertung mit diversen Preisen,
- Simulation von Preisänderungen.
Können Sie diese Fragestellungen aber auch unter folgenden Randbedingungen beantworten:
- Berechnung auf maximal granularer Datenbasis?
- Zu beliebigen Stichtagen?
- Für alle Artikel und Betriebe gleichzeitig?
- Ohne Vorberechnung?
Mit dem Einsatz eines SAP HANA Datenbanksystems schaffen Sie die Grundlage für derartige Analysemöglichkeiten. Aber erst mit einer geschickten Nutzung der neu zur Verfügung gestellten technischen Möglichkeiten, lassen sich auch komplexe Analysen auf sehr großen Datenbeständen ohne Vorberechnung durchführen.
Das folgende Projektbeispiel veranschaulicht das Potenzial:
Wie aber lassen sich Lösungen mit SAP BW auf einem HANA Datenbanksystem erstellen, die eine derartige Leistungsfähigkeit aufweisen?
In meinem Blog „Next Level Analytics, Teil 1“ bin ich zunächst auf die Lösungsarchitektur eingegangen.
In der Fortsetzung „Next Level Analytics, Teil 2“ habe ich dann ein vereinfachtes Design entwickelt.
Im dritten Teil „Next Level Analytics, Teil 3“ bin ich auf die spezifischen Modellierungseigenschaften im Datenmodell eingegangen.
In Teil vier „Next Level Analytics, Teil 4“ haben wir die ersten Calculation Views für die Berechnung von Einkaufspreisen im HANA Modeler erstellt, während im Teil fünf „Next Level Analytics, Teil 5“ Verkaufspreise über weitere Calculation Views erstellt wurden. Eine Besonderheit bestand in beiden Fällen darin, diejenigen Preise zu ermitteln, die an einem Stichtag gültig sind.
In diesem Beitrag wollen wir uns mit der Erstellung von Calculation Views für die Berechnung von Bestandsmengen zu einem Stichtag im HANA Studio bzw. Eclipse beschäftigen. Wenn Sie mit der Verwendung des HANA Studios bzw. Eclipse noch nicht vertraut sind, kann ich Ihnen diesen Blogbeitrag empfehlen: SAP HANA Studio für SAP BW Benutzer.
Wir wechseln wieder in die Perspektive „SAP HANA Modeler“, um dort einen neuen Calculation View für die Berechnung von Bestandsmengen zu einem flexiblen Stichtag zu realisieren.
Zur Erinnerung: für diesen Blog habe ich einen vereinfachten Ansatz zur Speicherung von Materialbelegen verwendet. Auf den Einsatz von Bestandskennzahlen, die Berechnung von Stützstellen, den Einsatz historischer Materialbelege habe ich hier bewusst verzichtet. In unserem Szenario ist es möglich, die Bestandsmenge für einen Artikel zu einem Stichtag dadurch zu berechnen, dass wir sämtliche Zu- und Abgänge für diesen Artikel bis zum Stichtag aufsummieren.
Folgende Punkte soll der Calculation View abdecken:
- Aus der Summe von Zu- und Abgangsmengen soll ein Bestand zum Stichtag berechnet werden.
- Es sollen mehrere unterschiedliche Bestandsarten berechnet werden.
- Der Anwender soll einen Stichtag eingeben, so dass nur diejenigen Materialbelege berücksichtigt werden, die bis zu diesem Stichtag gebucht worden sind.
- Der Stichtag soll als Vorschlagswert den Vortag anbieten.
- Wenn durch die Art der Abfrage Daten über mehrere Werke, Lagerorte, Artikel, … verdichtet werden müssen, wird weiter die Summe aller Zu- und Abgänge berechnet.
Im ersten Schritt fügen wir eine Projektion in den neuen Calculation View ein und ordnen ihr den externen SQL-View von dem aDSO „ZMATDOC“ zu. Der externe SQL-View ist an seiner Endung „8“ zu erkennen, die hinter dem technischen Namen des aDSO folgt. Die externen SQL-Views bieten für jede Kennzahl immer die interne und externe Darstellung an. Für die weiteren Berechnungen verwenden wir aber immer nur die interne Darstellung, erkennbar an der Endung „__INT“.
Nachdem wir den externen SQL-View für unsere Projektion ausgewählt haben, stehen uns alle seine Spalten zur Auswahl zur Verfügung. Indem wir eine Spalte aus dem Angebot auswählen, definieren wir die Ausgabe von dem Knoten Projektion. Die Liste der Ausgabespalten ist dann wieder das Angebot an Eingabespalten für den folgenden Knoten.
Wir wählen die folgenden Spalten aus:
Damit wir immer nur diejenigen Materialbelege aus dem aDSO selektieren, die bis zum gewünschten Stichtag erstellt worden sind, benötigen wir einen eingabebereiten Input Parameter. Dabei wählen wir wieder den Parameter Typ „DIRECT“ und den Datentyp NVARCHAR der Länge 8. Als technischen Namen verwende ich diesmal IP_DATUM, um im späteren Verlauf auf einen speziellen Aspekt hinzuweisen. Den Vorschlagswert berechnen wir wieder über den kleinen SQL Ausdruck.
Indem wir den neuen Input Parameter für die Spalte CALDAY anwenden, filtern wir Materialbelege, die bis zum gewünschten Datum erstellt worden sind.
Für den Knoten Projektion ergibt sich damit folgende Ausgabe, die dann wieder die Eingabe für den nachfolgenden Knoten bildet:
Indem wir die Projektion mit dem Knoten Aggregation verbinden, stehen uns alle Spalten aus dem Ausgabebereich der Projektion in der Aggregation zur Verfügung.
Wir übernehmen alle Spalten in die Aggregation.
… und können jetzt aus den einzelnen Zu- und Abgangsgrößen die jeweiligen Bestände berechnen. Dazu erstellen wir neue Calculated Columns mit dem Datentyp DECIMAL und dem Typ MEASURE. In der nicht allzu komplexen Formel subtrahieren wir von der Zugangsgröße die Abgangsgröße.
Neben dem Wert des bewerteten Bestandes erstellen wir weitere Calculated Columns nach diesem Schema für die Gesamtbestandsmenge, die Menge des bewerteten Bestandes und die Menge des Konsignationsbestandes.
Wenn wir uns den Knoten Semantics ansehen, können wir noch die einzelnen Zu- und Abgangsgrößen ausblenden, die wir für unsere Bestandsberechnungen verwendet haben. Der Calculation View wird dadurch übersichtlicher.
In der Gesamtübersicht sehen wir noch einmal die drei Knoten in unserem Calculation View.
Im nächsten Teil der Serie zeige ich Ihnen, wie die Bestände mit verschieden Preisen bewertet werden.