Présentation des fonctions pour les hiérarchies parent-enfant dans DAX
DAX fournit cinq fonctions pour aider les utilisateurs à gérer les données présentées sous forme de hiérarchie parent-enfant dans leurs modèles. Avec cette fonction, un utilisateur peut obtenir l’intégralité de la traçabilité des parents d’une ligne, combien de niveaux a la traçabilité au parent supérieur, qui est le n-niveaux parent au-dessus de la ligne actuelle, qui est le n-descendant du haut de la hiérarchie de lignes actuelle and est-il un parent parent dans la hiérarchie de lignes actuelle ?
Fonctions parent-enfant dans DAX
Le tableau suivant contains une hiérarchie Parent-Child sur les colonnes : EmployeeKeyandParentEmployeeKey utilisée dans all les exemples de fonctions.
EmployeeKey | ParentEmployeeKey |
---|---|
112 | |
14 | 112 |
3 | 14 |
11 | 3 |
13 | 3 |
162 | 3 |
117 | 162 |
221 | 162 |
81 | 162 |
Dans le tableau ci-dessus, vous pouvez voir que l’employé 112 n’a pas de parent défini, l’employé 14 a employé 112 en tant que responsable (ParentEmployeeKey), l’employé 3 a employé 14 en tant que responsable and employés 11, 13, and 162 ont employé 3 en tant que responsable. Le ci-dessus permet de comprendre que l’employé 112 n’a pas de responsable au-dessus de lui and elle/il est le directeur principal pour all employés présentés ici ; en outre, l’employé 3 signale à l’employé 14 and employés 11, 13, 162 rapports à 3.
Le tableau suivant présente les fonctions disponibles, une brève description de la fonction and un exemple de fonction sur les mêmes données ci-dessus.
PATH fonction : renvoie un texte délimité avec les identificateurs de all les parents à la ligne actuelle, en commençant par le plus ancien or supérieur jusqu’à ce qu’ils soient actuels.
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 fonction : retourne le nombre de niveaux dans un PATH(), commençant au niveau actuel jusqu’au niveau le plus ancien or le plus ancien niveau parent. Dans l’exemple de colonne suivant, PathLength est défini comme '= PATHLENGTH([Path])
' ; l’exemple inclut all données de l’exemple Path() pour comprendre le fonctionnement de cette fonction.
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 fonction : renvoie l’élément à la position spécifiée d’un PATH() comme résultat, en comptant de left à right. Dans l’exemple de colonne suivant PathItem - 4e de left est défini comme '= PATHITEM([Path], 4)
' ; Cet exemple retourne l’EmployeKey à la quatrième position de la chaîne Path de l'left, en utilisant les mêmes données sample de l’exemple Path().
EmployeeKey | ParentEmployeeKey | Path | PathItem - 4e de 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 fonction : renvoie l’élément à position
à partir d’un résultat de PATH() tel que le résultat de la fonction, en comptant vers l’arrière de right à left.
Dans l’exemple de colonne suivant PathItemReverse - 3ème de right est défini comme '= PATHITEMREVERSE([Path], 3)
' ; cet exemple retourne l’EmployeKey à la troisième position dans la chaîne Path de l'right, en utilisant les mêmes données sample de l’exemple Path().
EmployeeKey | ParentEmployeeKey | Path | PathItemReverse - 3e de 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 fonction - Renvoie TRUE
if le item
spécifié existe dans le path
spécifié. Dans l’exemple de colonne suivant PathContains - l’employé 162 est défini comme '= PATHCONTAINS([Path], "162")
' ; cet exemple retourne TRUE
if l’employé pathcontains donné 162. Cet exemple utilise les résultats de l’exemple Path() ci-dessus.
EmployeeKey | ParentEmployeeKey | Path | PathContains - employé 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 |