Unvollständige Hierarchien trifft man vor allem bei Daten auf öffentlichen Portalen an. Wir zeigen im vorliegenden Beitrag, wie sie in DeltaMaster am besten modelliert werden. Auch mobile Berichte lassen sich auf unvollständigen Hierarchien sinnvoll erstellen, sodass die Daten mit unserer BI-App Bissantz DashBoard analysiert werden können.
Unvollständige Hierarchien in DeltaMaster
Was meinen wir mit unvollständig?
Oft liegen – vor allem öffentlich publizierte – Daten auf verschiedenen Ebenen in unterschiedlicher Ausführlichkeit und Vollständigkeit vor.
Zum Beispiel ist eine Weltproduktion gegeben, aber auf Länderebene stehen nur die Top-10-Länder in Datenform zur Verfügung. Oder der Gesamtumsatz eines Unternehmens ist zwar bekannt, aber konkret nur für ausgewählte Warengruppen gegeben.
Für unsere Business-Intelligence-Software DeltaMaster gibt es mit dem aktuellen Release 6.3.7.1 neue Möglichkeiten, Daten auf unvollständigen Hierarchien auszuwerten. Dabei sind wir auf relationalen Modellen per Selfservice unterwegs.
Ein einfaches Beispiel
Um die Problemstellung zu erfassen, schauen wir einmal auf ein einfaches Beispiel der Exporte nach Warengruppen für Deutschland, die beim Statistischen Bundesamt (letzter Zugriff 26.5.2021) zu finden sind. Übertragen in eine Grafische Tabelle ergibt sich vereinfacht das folgende Bild:
Während hier der Gesamtwert der Exporte [in Mio. Euro] in der ersten Spalte angegeben ist, sind die beitragenden Bestandteile Ernährungswirtschaft und Gewerbliche Wirtschaft nicht erschöpfend: In der Summe ergeben diese beiden Positionen nicht den Gesamtwert, wie eine Überschlagsrechnung schnell ergibt! Zum Beispiel gilt im März 2021 6.658 + 115.210 = 121.868 und zu 126.692 fehlen somit knapp 5.000.
Hier haben wir die hierarchische Beziehung der drei Kennzahlen vollständig ignoriert und die drei Kennzahlen als voneinander unabhängige Werte modelliert.
Um mit einer Hierarchie arbeiten zu können, stehen uns prinzipiell zwei Ansätze zur Verfügung:
Zunächst könnten wir eine Saldo-Größe “Sonstige Exporte” als Differenz von aggregiertem Wert und der zwei genannten Exportkategorien generieren. Diese müssten wir aber bereits vor der Anbindung an die Datenquelle selbst berechnen und bereitstellen. Mit den beiden detaillierten Exportangaben und dieser Saldo-Größe lassen wir DeltaMaster aggregieren und erhalten dann wieder den Gesamtwert.
Wir beschreiten den alternativen Weg: Wir akzeptieren, dass die Hierarchie unvollständig ist und versuchen, ohne die Saldo-Größe auszukommen. Uns ist vor allem wichtig, sowohl den Gesamtwert als auch die beiden wichtigsten Bestandteile zu kennen.
Bemerkung: Bei “missing values” betrachten wir nicht fehlende Elemente einer Hierarchie, sondern fehlende Zahlenwerte zu einem vorhandenen Element.
Parent-Child-Hierarchien als Mittel der Wahl
Um unvollständige Hierarchien abbilden zu können, bieten sich Parent-Child-Hierarchien an. Der aggregierte Wert ergibt sich dabei nicht als Summe aus den Einzelpositionen, sondern wird bereits fertig berechnet geliefert und somit nur ausgelesen.
Parent-Child-Hierarchien wurden im Forschungsblog bereits ausführlich behandelt. Lesen Sie sich am besten den Beitrag Parent-Child-Hierarchien im Selfservice durch!
Wir benötigen zwei Tabellenblätter – eines für die Fakten und eines für die PC-Hierarchie:
In der Fakttabelle behandeln wir somit den aggregierten Wert auf die gleiche Weise wie die beiden anderen, eigentlich untergeordneten Exportgrößen. Rechts in der PC-Hierarchie definieren wir, dass “Alle” das Top-Element bezeichnet und verankern außerdem die anderen beiden Größen unter diesem Top-Element.
In DeltaMaster binden wir beide Tabellenblätter an.
Bei der PC-Hierarchie deklarieren wir Child als Dimension und wählen Parent als passende Elternebene aus.
Schließlich verbinden wir die Exporte-Spalte der Fakt-Tabelle mit der Child-Spalte:
Damit DeltaMaster nicht selbst aggregiert und den Gesamtwert nur ausliest, müssen wir die Checkbox “Werte aggregieren” in den Hierarchieeigenschaften der PC-Dimension ausschalten:
Grafische Tabelle mit unvollständigen Hierarchien
Nun können wir unsere Berichte erstellen. Wir müssen uns aber immer bewusst sein, dass hier der Wert des Gesamtelements nicht zwingend der Summe seiner Kinder entspricht. Wir sollten die Darstellung eher so interpretieren, dass die tiefere Ebene bestimmte Aspekte des Gesamtwerts noch einmal hervorhebt.
Da DeltaMaster die kompakte Darstellung einsetzt, legen wir einen neuen Analysewert direkt in Euro an. Somit gehen wir bei etwaigen Umrechnungen im Kopf nicht das Risiko ein, durch Flüchtigkeitsfehler gedanklich in der falschen Größenordnung zu landen. Es ergibt sich die folgende Grafische Tabelle, bei der wir die Namen etwas ausführlicher angelegt haben:
Die Darstellung einer unvollständigen Hierarchie als Grafische Tabelle war schon in älteren DeltaMaster-Versionen möglich. Neu im aktuellen Release ist die Möglichkeit, auch mobile Berichte mit unvollständigen Hierarchien anzulegen, die dann auf dem Bissantz DashBoard navigierbar bleiben.
Mobile Berichte mit unvollständigen Hierarchien
Wir legen hier einmal einen einfachen mobilen Bericht mit Vorjahresvergleich an, mit verkürzten Namen für das Smartphone:
Unvollständige Hierarchien im DashBoard
Exportieren wir nun die DB-Datei und schauen sie im Bissantz DashBoard an, dann sieht das zum Beispiel für die absolute Vorjahresabweichung folgendermaßen aus:
Auch hier gilt wieder das Prinzip, dass die beiden beitragenden Exportgrößen dem Gesamt eher logisch und nicht zwingend rechnerisch untergeordnet werden.
Bei einer Parent-Child-Hierarchie mit vorberechneten Werten könnten die abgebildeten Elemente theoretisch vollkommen zusammenhanglose Werte erhalten; natürlich zeigen wir hier nur Beispiele mit verständlicher, interpretierbarer Struktur.
Sparklines und Highlighting
Wenn wir schon einmal beim Bissantz DashBoard sind: Anfang des Jahres beschäftigte sich der Beitrag Zeitliche Entwicklung: Wortgrafik nun auch mobil ausführlich mit Sparklines auf dem DashBoard.
Wir haben nun einen anderen mobilen Bericht mit Historie exportiert:
Mit einer Zwei-Finger-Spreizgeste werden die Sparklines aktiviert.
Das Highlighting wurde damals noch nicht erwähnt: Mit einer langen Berührung einer der Säulen – die Aktivierung ist auch haptisch durch Vibration spürbar! – kann die aktive Säule durch Hin- und Herfahren mit dem Finger ausgewählt werden:
Der gewählte Monat lässt sich links ablesen und der dazu passende Ist-Wert wird simultan in der rechten Spalte aktualisiert. Die tiefste Delle der Exporte ist somit im ersten vollständigen Corona-Monat April 2020 zu finden.
Es funktioniert natürlich auch bei aufgeklappten Darstellungen:
Während das Minimum von “Gewerblich” ebenfalls im April 2020 zu finden ist, liegt das Minimum bei Ernährung – wie wir mit einer leichten Bewegung des Fingers schnell ermitteln – bei 5.5 Mrd. im Januar 2021.
Durch erneutes Antippen der Säulen wird das Highlighting wieder deaktiviert.
Einschränkung bei der Anwendung
Momentan gibt es eine Einschränkung bei der Darstellung im DashBoard. Angenommen, es liegt eine unvollständige Hierarchie mit mehreren Ebenen vor:
Hier haben wir die Umsätze der Produktgruppen A und B, die aber nicht den Gesamtumsatz ergeben, da noch weitere Produktgruppen C, D, E, … existieren, deren Daten aber nicht extern veröffentlicht wurden. Produktgruppe B ist noch detailliert und vollständig in die Umsätze der zugehörigen Produkte zerlegt.
Der mobile Bericht selbst lässt sich zwar noch gleichermaßen korrekt anlegen, aber zum momentanen Zeitpunkt darf für die Darstellung im DashBoard bei unvollständigen Hierarchien nur eine der beiden Ebenen im mobilen Bericht aufgenommen werden. Sollten Sie eine unzulässige Konstellation verwenden, erhalten Sie eine Warnung.
Die zulässigen Varianten sehen Sie hier:
Bei frühzeitig endenden Ästen wie hier bei Produktgruppe A wird das zugehörige Element (PG A) an die tiefergelegene Ebene logisch “durchgereicht”. Deshalb ist auf der 2. Ebene der Produkte auch die Produktgruppe A sichtbar.
Im DashBoard sieht die zweite Variante dann folgendermaßen aus:
Die Summe der einzelnen Werte ergibt hier 9.000, nicht die 10.000 des Gesamtumsatzes.
Mehrere unvollständige Hierarchien
Erlaubt sind hingegen mehrere unvollständige Hierarchien mit jeweils einer Ebene, abgesehen vom Gesamt-Element. Nehmen wir hier einmal an, dass beispielsweise der Gesamt-Umsatz weltweit, aber auch die speziellen Umsätze für ausgewählte Länder und für ausgewählte Produktkategorien bekannt sind:
Es liegen somit zwei unvollständige Hierarchien vor, die wir jeweils als Parent-Child-Hierarchie modellieren. Werte für die Kombinationen der Elemente der beiden Hierarchien sind hier als bekannt vorausgesetzt.
Nun lässt sich ein mobiler Bericht anlegen und im DashBoard nutzen, optional auch mit weiteren Kennzahlen, die auf gegebenen Daten ähnlich zur obigen Tabelle aufbauen:
Hier haben wir zunächst geographisch navigiert und dann für die USA nach Produktkategorien. Die erhaltenen Werte lassen sich in der Grafischen Tabelle nachvollziehen.
Dieses Beispiel war bewusst einfach gehalten, aber natürlich können auch mehr als zwei Dimensionen auftreten, die dann auch deutlich mehr als zwei Elemente enthalten dürfen.
Wie immer bleibt mir zum Schluss nur die Bemerkung, dass gerade das Bissantz DashBoard davon profitiert, die Navigation auf eigenen Daten zu erleben. Sie können das Bissantz DashBoard gerne selbst ausprobieren, hier haben Sie die Möglichkeit dazu.
Quelle der Export-Daten
Exporte nach Warengruppen, URL: https://www.destatis.de/DE/Themen/Wirtschaft/Konjunkturindikatoren/Aussenhandel/ahl210.html, Open Data bei DESTATIS – Statistisches Bundesamt, geänderte Darstellung in Euro anstelle von Mio. Euro,
Datenlizenz Deutschland – Namensnennung – Version 2.0 (Lizenztext unter https://www.govdata.de/dl-de/by-2-0)