Partager via


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 TRUEif le item spécifié existe dans le pathspécifié. Dans l’exemple de colonne suivant PathContains - l’employé 162 est défini comme '= PATHCONTAINS([Path], "162")' ; cet exemple retourne TRUEif 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