Grundlegendes zu Funktionen für Hierarchien aus übergeordneten und untergeordneten Elementen in DAX

DAX bietet fünf Funktionen,um Benutzer beim Verwalten von Daten zu unterstützen, die in ihren Modellen als Hierarchie aus übergeordneten und untergeordneten Elementen dargestellt werden. Mit diesen Funktionen kann ein Benutzer die gesamte Herkunft der übergeordneten Elemente einer Zeile abrufen. Damit lässt sich ermitteln, wie viele Ebenen zwischen einer Zeile und dem obersten übergeordneten Element liegen, wie die übergeordneten n Ebenen über der aktuellen Zeile lauten, welches das Nachfolgeelement an n-ter Position von oben in der Hierarchie der aktuellen Zeile ist und ob ein bestimmtes übergeordnetes Element ein Element in der aktuellen Zeilenhierarchie ist.

Übergeordnete und untergeordnete Funktionen in DAX

Die folgende Tabelle enthält eine Hierarchie aus übergeordneten und untergeordneten Elementen in den Spalten: EmployeeKey und ParentEmployeeKey, die in allen Funktionsbeispielen verwendet werden.

EmployeeKey ParentEmployeeKey
112
14 112
3 14
11 3
13 3
162 3
117 162
221 162
81 162

Der oben stehenden Tabelle können Sie Folgendes entnehmen: Für Mitarbeiter 112 ist kein übergeordnetes Element definiert, Mitarbeiter 14 hat Mitarbeiter 112 als Vorgesetzten (ParentEmployeeKey), Mitarbeiter 3 hat Mitarbeiter 14 als Vorgesetzten und Mitarbeiter 11, 13 und 162 haben Mitarbeiter 3 als Vorgesetzten. Diese Informationen verdeutlichen Folgendes: Mitarbeiter 112 hat keinen Vorgesetzten und ist der oberste Vorgesetzte für alle hier gezeigten Mitarbeiter; Mitarbeiter 3 untersteht Mitarbeiter 14, und die Mitarbeiter 11, 13, 162 unterstehen Mitarbeiter 3.

Die folgende Tabelle enthält die verfügbaren Funktionen, eine kurze Beschreibung der Funktion und ein Beispiel für die Funktion für die oben gezeigten Daten.

PATH-Funktion: Hiermit wird ein durch Trennzeichen getrennter Text mit den Bezeichnern aller übergeordneten Elemente für die aktuelle Zeile zurückgegeben, beginnend mit dem ältesten bzw. obersten bis zum aktuellen Bezeichner.

EmployeeKey ParentEmployeeKey Pfad
112 112
14 112 112|14
3 14 112|14|3
11 3 112|14|3|11
13 3 112|14|3|13
162 3 112|14|3|162
117 162 112|14|3|162|117
221 162 112|14|3|162|221
81 162 112|14|3|162|81

PATHLENGTH-Funktion: Hiermit wird die Anzahl der Ebenen in einem angegebenen PATH() zurückgegeben, beginnend mit der aktuellen Ebene bis zur ältesten bzw. obersten übergeordneten Ebene. Im folgenden Beispiel ist die Spalte „PathLength“ als „= PATHLENGTH([Path])“ definiert; das Beispiel enthält alle Daten aus dem Path()-Beispiel, um zu erläutern, wie diese Funktion funktioniert.

EmployeeKey ParentEmployeeKey Pfad PathLength
112 112 1
14 112 112|14 2
3 14 112|14|3 3
11 3 112|14|3|11 4
13 3 112|14|3|13 4
162 3 112|14|3|162 4
117 162 112|14|3|162|117 5
221 162 112|14|3|162|221 5
81 162 112|14|3|162|81 5

PATHITEM-Funktion: Hiermit wird das Element an der angegebenen Position von einem PATH()-ähnlichen Ergebnis zurückgegeben, gezählt von links nach rechts. Im folgenden Beispiel ist die Spalte „PathItem – 4th from left“ als „= PATHITEM([Path], 4)“ definiert; dieses Beispiel gibt den EmployeeKey-Wert an vierter Stelle von links in der Path-Zeichenfolge zurück, wobei die Beispieldaten aus dem Path()-Beispiel verwendet werden.

EmployeeKey ParentEmployeeKey Pfad PathItem - 4th from left
112 112
14 112 112|14
3 14 112|14|3
11 3 112|14|3|11 11
13 3 112|14|3|13 13
162 3 112|14|3|162 162
117 162 112|14|3|162|117 162
221 162 112|14|3|162|221 162
81 162 112|14|3|162|81 162

PATHITEMREVERSE-Funktion: Hiermit wird das Element an der Position von einem PATH()-ähnlichen Funktionsergebnis zurückgegeben, rückwärts gezählt von rechts nach links.
Im folgenden Beispiel ist „PathItemReverse – 3rd from right“ als „= PATHITEMREVERSE([Path], 3)“ definiert; dieses Beispiel gibt den EmployeeKey-Wert an dritter Stelle von rechts in der Path-Zeichenfolge zurück, wobei die Beispieldaten aus dem Path()-Beispiel verwendet werden.

EmployeeKey ParentEmployeeKey Pfad PathItemReverse - 3rd from right
112 112
14 112 112|14
3 14 112|14|3 112
11 3 112|14|3|11 14
13 3 112|14|3|13 14
162 3 112|14|3|162 14
117 162 112|14|3|162|117 3
221 162 112|14|3|162|221 3
81 162 112|14|3|162|81 3

PATHCONTAINS-Funktion: Gibt TRUE zurück, wenn das angegebene Element im angegebenen Pfad vorhanden ist. Im folgenden Beispiel ist die Spalte „PathContains – employee 162“ als „= PATHCONTAINS([Path], "162")“ definiert; in diesem Beispiel wird TRUE zurückgegeben, wenn der angegebene Pfad Mitarbeiter 162 enthält. In diesem Beispiel werden die Ergebnisse aus dem oben genannten Path()-Beispiel verwendet.

EmployeeKey ParentEmployeeKey Pfad PathContains - employee 162
112 112 FALSE
14 112 112|14 false
3 14 112|14|3 FALSE
11 3 112|14|3|11 FALSE
13 3 112|14|3|13 FALSE
162 3 112|14|3|162 TRUE
117 162 112|14|3|162|117 TRUE