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 |