Mit der Data Warehouse Cloud Version 2020.14 hat SAP die Einbindung von Zeitdimensionen ermöglicht.
Warum ist die Zeitdimension so wichtig?
Zuvor waren in den zu ladenden Daten für die SAP Data Warehouse Cloud viele Aggregationsebenen einer Datumsspalte erforderlich, z.B. für eine separate Spalte «Quartal» oder «Jahr», wenn in der Story mehrere Ebenen der Zeitaggregation notwendig waren.
Einige von uns sind das SAP BW gewohnt, bei dem das einzelne Datumsfeld nicht nur für das entsprechende Datumsfeld im Zielobjekt, sondern auch für andere Datumsfelder wie Quartal und Jahr genutzt werden kann. Diese Automatisierung ist nun auch in der SAP Data Warehouse Cloud möglich. Mit nur einem Datumsfeld kann man auch auf andere Datumsebenen in der Story filtern, wenn man von der neuen Zeitdimension Gebrauch macht. Es leitet automatisch die Information „Tag“ in das Jahr, Quartal und Monat um, und bietet zudem vorgefertigte Levels an Zeithierarchien an, die man im Storymodus auswählen kann.
Zugang zur Zeitdimension
Um sich den Komfort der automatisch erzeugten Zeitachsen zu Nutze machen zu können, muss man zuerst die Zeittabellen und dessen Dimensionen hinzufügen. Diese Einstellung erfolgt auf Spaceebene und nicht für die ganze DWC.
Durch Anklicken der Schaltfläche «Create Time Tables and Dimensions» wird ein Dialogfenster geöffnet, welche Objekte die DWC anlegt:
- Zeittabelle (enthält die Zeitdaten)
- Zeitdimensionen (Jahr, Quartal, Monat, Tag)
- Übersetzungstabellen (en, de, fr, es)
Hier ist es möglich, den Businessnamen und die Zeitrange nach seinen Präferenzen zu ändern. Die technischen Namen und der Kalendertyp sind jedoch vordefiniert und nicht änderbar.
Mit Klick auf «Create» sind sie ab sofort im Data Builder zu finden.
Wenn man im Data Builder auf eine Dimensionssicht klickt, öffnet sich ihre Architektur.
Man sieht das SQL Statement und sonstige Konfigurationen, womit die SAP ihre Zeitdimensionen ausliefert. Zudem verfügen die Dimensionen Tag und Monat vordefinierte Hierarchien.
Um sie einzusehen, klickt man auf das Treppenzeichen.
Die Zeittabellen und Dimensionen sind nun erzeugt und können ins Modell eingebunden werden. Dafür geht man in ein bereits bestehendes analytisches Datenset oder lädt Daten neu in die DWC hoch.
In meinem Fall habe ich von vorne begonnen und eine CSV Datei über den Data Builder hochgeladen. Die Datei enthält eine Spalte namens «Day», die in der DWC bereits mit dem richtigen Datentyp «Datum» erkannt wurde.
Man muss sicherstellen, dass die Datumsspalte vom Datentyp Datum ist und nicht vom Typ String. Andererseits wird es nicht funktionieren.
Nachdem die Tabelle per Deploy in die DWC geladen wurde, kreiert man eine neue View im Data Builder. Per Drag & Drop kann die soeben geladene Tabelle zur Leinwand hinzugefügt werden.
Klickt man nun auf die View, kann man in den Einstellungen die passende Zeitdimension assoziieren. Ich habe die Dimension Tag genommen, da mein Datenset eine Datumsspalte hatte.
Es öffnet sich eine neue Sicht. Hier möchte die DWC wissen, welche Spalte der Tabelle mit der neuen Zeitdimension assoziiert werden soll. Per Drag & Drop lässt sich die Spalte «Day» mit der Dimension «Date» verbinden.
Alle notwendigen Einstellungen im Modell sind nun erledigt, sodass mit der Story weitergemacht werden kann.
Auch hier möchte ich erneut erwähnen, dass der Datentyp «Datum» sein sollte.
Für diesen Fall muss zuerst eine berechnete Spalte hinzugefügt werden, welches den Datentyp String in ein Datumsdatentyp umwandelt (momentaner Workaround).
Mit Klick auf die Remotetabelle fügt man eine berechnete Spalte hinzu. Sie soll die Formel « TO_DATE(,’YYYYMMDD’) » enthalten, die für die Datentypkonvertierung String zu Datum sorgt.
Achtung: Die Assoziation zur Zeitdimension muss auf Ebene des analytischen Datensets erfolgen – nicht auf Ebene der Eingangsview der Tabelle. Daher habe ich in meinem Beispiel die View in ein analytisches Datenset umgestellt.
Storybau
Fährt man mit der Maus über die Datumsdimension, sieht man, dass jetzt eine Hierarchie verfügbar ist. Mit Klick auf das Treppenzeichen und weiter auf «Set Hierachy…» kann man die gewünschte Hierarchie auswählen.
Die zur Auswahl stehenden Hierarchien sind die im Eingang gezeigten, vordefinierten Hierarchien in der Zeitdimension Tag.
Je nachdem, welche Hierarchieeinstellung man gewählt hat, z.B. «Year, Quarter, Month, Day», werden die Hierarchielevel beeinflusst.
Ich habe die Hierarchie «Year, Quarter, Month, Day» verwendet. Mit jedem weiteren Level werden die Daten feiner und Details können erforscht werden, wie im folgenden Screenshot demonstriert wird.
Wir bei CubeServ haben bereits diverse Artikel zu diesem Thema verfasst, gewinne mit folgenden Links einen weiteren Einblick in die SAP Data Warehouse Cloud.
- Blog: Die SAP Data Warehouse Cloud – ein neuer grosser (?) Wurf (Teil 1)
- Blog: Die SAP Data Warehouse Cloud – ein neuer grosser (?) Wurf (Teil 2)
- Blog: SAP Data Warehouse Cloud – Erfahrungen beim Aufbau eines Datenmodells
- Webseite: SAP Data Warehouse Cloud
- Webinar: Data Warehouse Cloud & Co. – Der agile Part der Business Analytics Platform