Freigeben über


Grundlegendes zu Funktionen für Über-/Unterordnungshierarchien in DAX

DAX stellt fünf Funktionen bereit, mit denen Benutzer Daten verwalten können, die als Hierarchie mit über- und untergeordneten Elementen in ihren Modellen dargestellt werden. Mit diesen Funktionen kann ein Benutzer Folgendes abrufen: die gesamte Herkunft von übergeordneten Elementen in einer Zeile, die Anzahl der Ebenen einer Herkunft zum obersten übergeordneten Element, die übergeordneten n-Ebenen über der aktuellen Zeile, den n-Nachfolger von der obersten Ebene der aktuellen Zeilenhierarchie und ob ein bestimmtes übergeordnetes Element ein übergeordnetes Element in der aktuellen Zeilenhierarchie ist.

Über- und untergeordnete Funktionen in DAX

Die folgende Tabelle enthält eine Hierarchie mit über- und untergeordneten Elementen für die Spalten EmployeeKey und ParentEmployeeKey, die in allen Funktionsbeispielen verwendet wird.

EmployeeKey

ParentEmployeeKey

112

14

112

3

14

11

3

13

3

162

3

117

162

221

162

81

162

In der oben erwähnten Tabelle können Sie sehen, dass für Mitarbeiter 112 kein übergeordnetes Element definiert ist, Mitarbeiter 14 Mitarbeiter 112 als Manager hat (ParentEmployeeKey), Mitarbeiter 3 Mitarbeiter 14 als Manager hat und die Mitarbeiter 11, 13 und 162 Mitarbeiter 3 als Manager haben. Somit erkennen Sie, dass Mitarbeiter 112 keinen Manager über sich hat und der oberste Manger für alle hier gezeigten Mitarbeiter ist; außerdem untersteht Mitarbeiter 3 Mitarbeiter 14 und die Mitarbeiter 11, 13 und 162 unterstehen Mitarbeiter 3.

In der folgenden Tabelle werden die verfügbaren Funktionen, eine kurze Beschreibung der Funktion und ein Beispiel der Funktion für dieselben, oben angezeigten Daten dargestellt.

Funktion

Beschreibung/Beispiel

PATH-Funktion (DAX)

Gibt einen getrennten Text mit den Bezeichnern aller übergeordneten Elemente für die aktuelle Zeile zurück, beginnt mit dem ältesten oder obersten bis hin zum aktuellen.

Im folgenden Beispiel ist die Spalte 'Path' als '=PATH(EmployeeKey, ParentEmployeeKey)' definiert.

EmployeeKey

ParentEmployeeKey

Path

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 (DAX)

Gibt die Anzahl der Ebenen in einem angegebenen PATH() zurück, beginnend auf der aktuellen Ebene bis zur ältesten oder obersten übergeordneten Ebene.

Im folgenden Beispiel ist die Spalte PathLength als '=PATHLENGTH([Path])' definiert; das Beispiel umfasst alle Daten aus dem Path()-Beispiel, um die Funktionsweise dieser Funktion zu veranschaulichen.

EmployeeKey

ParentEmployeeKey

Path

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 (DAX)

Gibt das Element an der angegebenen Position aus einem PATH()-ähnlichen Ergebnis zurück, dabei wird von links nach rechts gezählt.

Im folgenden Beispiel ist die Spalte PathItem - 4th from left als '=PATHITEM([Path], 4)' definiert. In diesem Beispiel wird der EmployeeKey an vierter Position von links in der Path-Zeichenfolge zurückgegeben, dabei werden dieselben Beispieldaten aus dem Path()-Beispiel verwendet.

EmployeeKey

ParentEmployeeKey

Path

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 (DAX)

Gibt das Element an der position aus einem PATH()-ähnlichen Funktionsergebnis zurück, dabei wird rückwärts von rechts nach links gezählt.

Im folgenden Beispiel ist die Spalte PathItemReverse - 3rd from right als '=PATHITEMREVERSE([Path], 3)' definiert. In diesem Beispiel wird der EmployeeKey an dritter Position von rechts in der Path-Zeichenfolge zurückgegeben, dabei werden dieselben Beispieldaten aus dem Path()-Beispiel verwendet.

EmployeeKey

ParentEmployeeKey

Path

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 (DAX)

Gibt TRUE zurück, wenn das angegebene item im angegebenen path 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

Path

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

VorsichtshinweisVorsicht

In SQL Server 2012 Analysis Services unterstützt das xVelocity-Modul für Datenanalyse im Arbeitsspeicher (VertiPaq) die Definition von Hierarchien mit über- und untergeordneten Elementen nicht; die DAX-Sprache stellt jedoch einen Satz von Funktionen bereit, mit denen Benutzer diese Hierarchien untersuchen und in Formeln verwenden können.