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 qu’une ligne a, 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 et est-il un parent parent dans la hiérarchie de lignes actuelle ?
Fonctions parent-enfant dans DAX
Le tableau suivant contient une hiérarchie Parent-Child sur les colonnes : EmployeeKey et ParentEmployeeKey utilisée dans tous 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 l’employé 112 en tant que responsable (ParentEmployeeKey), l’employé 3 a employé 14 en tant que responsable et les employés 11, 13 et 162 ont employé 3 en tant que responsable. Le ci-dessus permet de comprendre que l’employé 112 n’a pas de gestionnaire au-dessus de lui et qu’il est le chef de direction de tous les employés présentés ici ; en outre, l’employé 3 signale à l’employé 14 et aux employés 11, 13, 162 rapports à 3.
Le tableau suivant présente les fonctions disponibles, une brève description de la fonction et un exemple de fonction sur les mêmes données ci-dessus.
PATH fonction : renvoie un texte délimité avec les identificateurs de tous les parents à la ligne actuelle, en commençant par le plus ancien ou le plus haut jusqu’à ce qu’ils soient actuels.
EmployeeKey | ParentEmployeeKey | Chemin |
---|---|---|
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 d’un PATH(), commençant au niveau actuel jusqu’au niveau le plus ancien ou supérieur du niveau parent. Dans l’exemple de colonne suivant, PathLength est défini comme '= PATHLENGTH([Path])
' ; l’exemple inclut toutes les données de l’exemple Path() pour vous aider à comprendre le fonctionnement de cette fonction.
EmployeeKey | ParentEmployeeKey | Chemin | 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 : retourne l’élément à la position spécifiée d’un PATH() comme résultat, en comptant de gauche à droite. Dans l’exemple suivant, la colonne PathItem - 4ème à partir de gauche est définie comme '= PATHITEM([Path], 4)
' ; cet exemple retourne l’EmployeKey à la quatrième position dans la chaîne Path de gauche, en utilisant les mêmes exemples de données de l’exemple Path().
EmployeeKey | ParentEmployeeKey | Chemin | PathItem - 4ème à partir de gauche |
---|---|---|---|
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 droite à gauche.
Dans l’exemple suivant, la colonne PathItemReverse - 3ème à partir de droite est définie comme '= PATHITEMREVERSE([Path], 3)
' ; cet exemple retourne l’EmployeKey à la troisième position de la chaîne Path de droite, en utilisant les mêmes exemples de données de l’exemple Path().
EmployeeKey | ParentEmployeeKey | Chemin | PathItemReverse - 3ème à partir de droite |
---|---|---|---|
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
si le item
spécifié existe dans le path
spécifié. Dans l’exemple de colonne suivant, PathContains - employee 162 est défini comme '= PATHCONTAINS([Path], "162")
' ; cet exemple retourne TRUE
si le chemin donné contient l’employé 162. Cet exemple utilise les résultats de l’exemple Path() ci-dessus.
EmployeeKey | ParentEmployeeKey | Chemin | 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 |