Serie | Microsoft Power Platform – Eltern-Kind-Hierarchien in Power BI zur Abbildung von Organigrammen

Microsoft Power BI ist häufig das Tool der Wahl für Analysten, die mit Geschäftsdaten arbeiten, die in der Regel in hierarchischen Kategorien wie Organisationsstruktur, Produktfamilien oder Berichtslinien organisiert sind. Die richtige Kategorisierung und Unterscheidung dieser Gruppen verbessert die Tiefe der Analyse erheblich.

Diese Datensätze sind durch Eltern-Kind-Beziehungen miteinander verbunden, und es ist von entscheidender Bedeutung, die einzigartigen Merkmale dieser Beziehungen zu berücksichtigen, wenn man mit Hierarchien arbeitet.

Leider gibt es in Power BI keine vordefinierte Methode zur Verwaltung von Hierarchien, die durch diese Beziehungen bestimmt werden. Daher stellen sich Analysten oft die Frage, wie sie diese Hierarchien in ihren Datenmodellen darstellen oder sie korrekt in Filter einbinden können.

In diesem Artikel werden wir eine Schritt-für-Schritt-Methode erläutern, die DAX-Funktionen verwendet, um einen genauen hierarchischen Filter zu erstellen. Außerdem gehen wir auf eine häufige Herausforderung ein: den Umgang mit leeren Hierarchieebenen unter Beibehaltung wertvoller Daten.

Parent-child Hierarchien in Power BI Organigramm

Abbildung 1. Geschäftseinheiten (Business Units) befinden sich auf Ebene 1, Divisionen (Divisions) auf Ebene 2, Abteilungen (Departments) auf Ebene 3 und Teams auf Ebene 4.

 

Was sind Eltern-Kind-Beziehungen in Daten?

Eltern-Kind-Hierarchien sind für die Analyse von Geschäftsdaten unerlässlich, da sie ähnlich wie ein Stammbaum strukturierte Beziehungen zwischen Datenelementen darstellen. Auf der obersten Ebene befindet sich das übergeordnete Element, unter dem ein oder mehrere untergeordnete Elemente liegen, so dass eine hierarchische Struktur entsteht. Was diese Hierarchien auszeichnet, ist ihre Anpassungsfähigkeit, da einige Unterebenen möglicherweise nicht durchgängig Daten enthalten.

Diese Struktur ist häufig in Geschäftsdaten anzutreffen, z. B. in Organisationsstrukturen (mit Abteilungen, Teams und Mitarbeitern) und geografischen Daten (mit Regionen, Städten und Stadtteilen).

 

Wie können wir Eltern-Kind-Hierarchien bei der Analyse von Daten nutzen?

  • Drill-Down-Analyse: Eltern-Kind-Hierarchien erleichtern die Drill-Down-Analyse. Das bedeutet, dass Sie Ihre Analyse auf einer höheren Ebene beginnen können (z. B. Gesamtumsatz für alle Regionen) und dann in detailliertere Informationen eintauchen können (z. B. Umsatz nach Stadt).
  • Aggregation: Parent-Child-Hierarchien vereinfachen die Datenaggregation. Sie können problemlos Summen oder Durchschnittswerte auf verschiedenen Hierarchieebenen berechnen und so Trends und Muster besser erkennen.
  • Filtern: Hierarchien ermöglichen eine effiziente Datenfilterung. Sie können Daten filtern, indem Sie bestimmte Ebenen innerhalb der Hierarchie auswählen. So können Sie z. B. die Verkaufsdaten ausschließlich für eine bestimmte Filiale innerhalb einer Region untersuchen.
  • Visualisierung: Hierarchien ermöglichen es den Benutzern, Daten in einem Bericht hierarchisch zu erforschen und sind für die Erstellung aussagekräftiger Visualisierungen in vielen Geschäftsszenarien unerlässlich.

 

Wie können wir eine Tabelle und einen Filter erstellen, die eine Hierarchie in Power BI enthalten?

Die Verwendung dieser Hierarchien in Power BI kann eine kleine Herausforderung sein, aber keine Sorge, wir haben einige Lösungen, die es einfacher machen. In diesem Handbuch vereinfachen wir den Vorgang mit einer schrittweisen Anleitung anhand eines einfachen Beispiels.

Wir arbeiten mit den Daten eines fiktiven griechischen Unternehmens, zu dem noch zwei weitere Geschäftsbereiche in Italien und Frankreich gehören. Dieses Unternehmen hat Abteilungen, die für bestimmte Produkte zuständig sind, und Abteilungen innerhalb der Abteilungen. Darüber hinaus sind einige Abteilungen noch in Teams unterteilt. Hier ist eine grafische Darstellung der Hierarchie.

Power BI Hierarchie Originaltabelle ID IDParent

Abbildung 2. Originaltabelle, die die Hierarchie der Eltern-Kind-Beziehungen darstellt.

In unserer ursprünglichen Tabelle wird diese Struktur durch eindeutige IDs dargestellt. Das Feld “ID” stellt den eindeutigen Bezeichner für jede Entität dar, während die “ID Parent” den Bezeichner, der in der Hierarchie direkt übergeordneten Entität angibt.

Unser Ziel ist es, eine Tabelle wie folgt zu erstellen:

Power BI Hierarchie Tabelle mit Hierarchieebenen mit leeren Zellen

Abbildung 3. Zieltabelle mit Darstellung der verschiedenen Hierarchieebenen.

 

Lassen Sie uns Schritt für Schritt vorgehen:

Schritt 1:

Stellen Sie sicher, dass Sie eine Tabelle haben, die sowohl die ID der Entität als auch die ID der übergeordneten Entität enthält, und laden Sie diese Tabelle dann in das Modell.

 

Schritt 2:

Erstellen Sie eine berechnete Spalte, die den Hierarchiepfad für jede Entität angibt. Navigieren Sie dazu zur “Tabellenansicht”, wählen Sie die Tabelle aus und klicken Sie auf “Neue Spalte”. Wir werden die DAX-Funktion PATH verwenden. In diesem Beispiel sieht die Formel wie folgt aus:

HierarchyPath = PATH ( ‘Hierarchy'[ID], ‘Hierarchy'[ParentID] )

Diese Formel berechnet einen hierarchischen Pfad für jede Zeile in der Tabelle “Hierarchie”. Dazu wird der Pfad von der “ID” der aktuellen Zeile bis zum Wurzelknoten unter Verwendung der Beziehung “ParentID” verfolgt.

 

Schritt 3:

Erstellen Sie für jede Hierarchiestufe eine berechnete Spalte. In unserem Beispiel lautet die Formel für Ebene 1:

Business Unit.1 =

VAR LevelNumber = 1

VAR LevelKey = PATHITEM ( ‘Hierarchy'[HierarchyPath], LevelNumber, INTEGER )

VAR LevelName = LOOKUPVALUE ( ‘Hierarchy'[Name ], ‘Hierarchy'[ID], LevelKey )

VAR Result = LevelName

RETURN

Result

Mit dieser Formel wird eine neue Spalte mit der Bezeichnung “Business Unit.1” erstellt, indem bestimmte Hierarchieebenen extrahiert werden. Hier ist eine Aufschlüsselung:

  1. Sie initialisiert ‘LevelNumber’ mit 1, was die gewünschte Hierarchiestufe angibt.
  2. „LevelKey” wird mit PATHITEM gesetzt, um das erste Element aus “HierarchyPath” zu extrahieren.
  3. LevelName” verwendet LOOKUPVALUE, um den zugehörigen “Name” für die “ID” zu finden, die mit “LevelKey” übereinstimmt. Im Grunde wird der Name der Geschäftseinheit auf Ebene 1 in der Hierarchie gesucht.
  4. “Result” speichert den “LevelName”.
  5. Die Formel gibt “Result” zurück und benennt die Geschäftseinheit der Ebene 1 in der Hierarchie.

 

Schritt 4:

Unter Anwendung derselben Logik und Formel erstellen wir berechnete Spalten für zusätzliche Ebenen. Dazu passen Sie einfach die Variable “LevelNumber” so an, dass sie jeder der vier Stufen entspricht. Hier ist die Formel für Stufe 2 (Division):

Division.2 =

VAR LevelNumber = 2

VAR LevelKey = PATHITEM ( ‘Hierarchy'[HierarchyPath], LevelNumber, INTEGER )

VAR LevelName = LOOKUPVALUE ( ‘Hierarchy'[Name ], ‘Hierarchy'[ID], LevelKey )

VAR Result = LevelName

RETURN

Result

Nachdem Sie diesen Prozess für jede Stufe abgeschlossen haben, erhalten Sie die Zieltabelle im Bild 3. Nun können Sie einen Filter mit diesen Daten einrichten, um Ihre Datenanalyse zu verbessern.

Sie könnten jedoch feststellen, dass bestimmte Ebenen leere Zellen haben, was zu einer “leeren” Option im Filter führt. Der Filter funktioniert zwar auch mit diesen leeren Zellen, könnte aber für die Benutzer des Berichts verwirrend sein.

Leider gibt es derzeit keinen direkten Filter oder eine Lösung für dieses Problem in Power BI. Einige Alternativen sind die Verwendung inoffizieller Filter, die von erfahrenen Benutzern erstellt wurden, oder die Beibehaltung der leeren Felder.

Power BI Hierarchie Filter mit leeren Einträgen

Abbildung 4. Der resultierende Filter. Er ist zwar funktional, enthält aber “Leer”-Zeichen, die die Benutzer verwirren können.

Wir haben jedoch einige Lösungen gefunden, die dieses Problem entschärfen können. Wenn Sie wissen wollen, wie, lesen Sie weiter!

 

Wie können wir das Vorkommen von leeren Ebenen in der Hierarchie verwalten, ohne Informationen zu verlieren?

Eltern-Kind-Hierarchien sind dafür bekannt, dass sie auch dünn besiedelte Unterebenen aufnehmen können, bei denen nicht unbedingt alle Zweige Daten enthalten. Diese Anpassungsfähigkeit spiegelt reale Szenarien wider, in denen bestimmte Datenpunkte nur sporadisch auftauchen können. Die Handhabung solcher Hierarchien in Power BI stellt jedoch eine Herausforderung dar, da einige Zellen sowohl in unserer Tabelle als auch im Filter als “leer” erscheinen.

Zum Beispiel bleiben auf Ebene 4 (Team) zahlreiche Zellen leer. Das Entfernen dieser leeren Felder aus unserem Filter stellt ein Problem dar, da dadurch ganze Zeilen mit wertvollen Daten wegfallen, was zu unvollständigen Analysen führt.

Es gibt eine Lösung, um diese “leeren” Zellen zu beseitigen und Klarheit in die Hierarchie zu bringen. Mit diesem Ansatz können Sie eine Tabelle und einen Filter erstellen, die alle verfügbaren Optionen umfassend und intuitiv erfassen. Der resultierende Filter sieht wie folgt aus:

Power BI Hierarchie Filter ohne leere Einträge

Abbildung 5. Hierarchiefilter, nachdem die “leeren” Zellen geändert wurden.

 

Die im Folgenden beschriebenen Schritte beruhen auf dem Konzept, innerhalb jeder berechneten Spalte eine ” If”-Anweisung zu verwenden, um Zellen auf niedrigeren Ebenen aufzufüllen, ohne die Hierarchie durcheinander zu bringen.

 

Schritt 1:

Die erste Spalte bleibt unverändert, da es dort keine leeren Zellen gibt.

 

Schritt 2:

In der zweiten Spalte verwenden Sie die folgende angepasste Formel:

Division.2 =

VAR LevelNumber = 2

VAR LevelKey = PATHITEM(‘Hierarchy'[HierarchyPath], LevelNumber, INTEGER)

VAR LevelName = LOOKUPVALUE(‘Hierarchy'[Name ], ‘Hierarchy'[ID], LevelKey)

VAR PreviousLevelName = CONCATENATE(‘Hierarchy'[Name ], ” (Business Unit without Division)”)

VAR Result =

IF (

NOT ISBLANK(LevelName),

LevelName,

PreviousLevelName

)

RETURN

Result

Diese DAX-Formel ähnelt der vorherigen insofern, als beide darauf abzielen, den Namen einer Abteilung auf Ebene 2 innerhalb einer Hierarchie zu ermitteln. Diese Formel geht jedoch einen Schritt weiter und berücksichtigt dank NOT ISBLANK auch Szenarien, in denen keine Abteilung existiert. Sie berechnet “LevelName” ähnlich wie die erste Formel, führt aber auch “PreviousLevelName” als Entität plus einen festen Text ein, dank CONCATENATE.

Die Variable “Result” wird bestimmt, indem geprüft wird, ob “LevelName” leer ist oder nicht. Wenn ‘LevelName’ nicht leer ist (was auf das Vorhandensein einer Unterteilung auf Ebene 2 hinweist), nimmt ‘Result’ ‘LevelName’ an. Ist ‘LevelName’ dagegen leer, übernimmt ‘Result’ ‘PreviousLevelName’ und fügt ihm einen spezifischen Text hinzu (in diesem Fall “Business Unit Without Division”).

 

Schritt 3:

Nach der gleichen Logik lautet die Formel für die berechnete Spalte für Ebene 3:

Department.3 =

VAR LevelNumber = 3

VAR LevelKey = PATHITEM(‘Hierarchy'[HierarchyPath], LevelNumber, INTEGER)

VAR LevelName = LOOKUPVALUE(‘Hierarchy'[Name ], ‘Hierarchy'[ID], LevelKey)

VAR PreviousLevelName = CONCATENATE(‘Hierarchy'[Name ], ” (Division without Department)”)

VAR Result =

IF (

NOT ISBLANK(LevelName),

LevelName,

PreviousLevelName

)

RETURN

Result

 

Schritt 4:

Schließlich lautet die Formel für Stufe 4:

Team.4 =

VAR LevelNumber = 4

VAR LevelKey = PATHITEM(‘Hierarchy'[HierarchyPath], LevelNumber, INTEGER)

VAR LevelName = LOOKUPVALUE(‘Hierarchy'[Name ], ‘Hierarchy'[ID], LevelKey)

VAR PreviousLevelName = CONCATENATE(‘Hierarchy'[Name ], ” (Department without Team)”)

VAR Result =

IF (

NOT ISBLANK(LevelName),

LevelName,

PreviousLevelName

)

RETURN

Result

 

Das Ergebnis ist die folgende Tabelle und der in Abbildung 5 dargestellten Filter.

Power BI Hierarchie Tabelle ohne leere Einträge

Abbildung 6. Tabelle nach Änderung der leeren Zellen.

 

Dieser Ansatz bietet nicht nur einen übersichtlicheren und schlankeren Filter, sondern ermöglicht Ihnen auch die direkte Auswahl übergeordneter Optionen. So können Sie z. B. einfach die GRC-Ebene Produkt A auswählen, ohne alle darunter liegenden Ebenen einzeln auswählen zu müssen.

Wir hoffen, dass diese Informationen für Sie von Nutzen waren.

Unsere Kompetenz liegt im Datenmanagement, und kreative Problemlösungen sind unsere Stärke! Sollten Sie ein vielseitiges und agiles Team benötigen, das Ihre Datenprojekte von Anfang bis Ende betreut, zögern Sie nicht, uns zu kontaktieren. Wir machen Daten nutzbar!

 

Übersicht zur Microsoft Power Platform:

 

Interessiert? Dann nichts wie ab zu unserer Power BI SchulungBI Einführungsworkshop oder Power BI Performanceoptimierung. Damit Wissen nicht nur theoretisch im Kopf bleibt, sondern praktisch umgesetzt werden kann.

Haben wir Ihr Interesse geweckt? Kontaktieren Sie uns gerne.

Ihre Ansprechpartnerin

Ares Albá Roselló

ares.alba-rosello@datalytics-consulting.com
+49 178 3984086