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 qui se présentent sous la forme d’une hiérarchie parent-enfant dans leurs modèles. Grâce à ces fonctions, un utilisateur peut obtenir l’intégralité du lignage des parents d’une ligne, le nombre de niveaux du lignage jusqu’au parent supérieur, l’identité du parent situé n niveaux au-dessus de la ligne actuelle et l’identité du nième descendant à partir du sommet de la hiérarchie de la ligne actuelle. Il est aussi possible de savoir si un parent donné est un parent dans la hiérarchie de la ligne actuelle.
Fonctions parent-enfant dans DAX
La table suivante contient une hiérarchie parent-enfant sur les colonnes EmployeeKey et ParentEmployeeKey. Elle est 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 la table ci-dessus, vous pouvez voir qu’aucun parent n’est défini pour l’employé 112, que l’employé 14 a pour responsable l’employé 112 (ParentEmployeeKey), que l’employé 3 a pour responsable l’employé 14 et que les employés 11, 13 et 162 ont pour responsable l’employé 3. L’exemple ci-dessus nous permet de comprendre que l’employé 112 n’a aucun supérieur et qu’il est en charge de tous les employés indiqués ici. Par ailleurs, l’employé 3 relève de l’employé 14 et les employés 11, 13 et 162 de l’employé 3.
La table suivante présente les fonctions disponibles, une brève description de la fonction et un exemple de la fonction sur les mêmes données que celles indiquées ci-dessus.
Fonction PATH – Retourne un texte délimité contenant les identificateurs de tous les parents de la ligne actuelle, en commençant par le niveau le plus ancien ou le plus élevé jusqu’au niveau actuel.
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 |
Fonction PATHLENGTH – Retourne le nombre de niveaux dans une fonction PATH() donnée, en commençant au niveau actuel jusqu’au niveau parent le plus ancien ou le plus élevé. Dans l’exemple suivant, la colonne PathLength est définie en tant que « = PATHLENGTH([Path])
». L’exemple inclut toutes les données de l’exemple Path() pour vous aider à mieux comprendre le mode opératoire 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 |
Fonction PATHITEM – Retourne l’élément situé à la position spécifiée dans un résultat de type PATH(), en partant de la gauche. Dans l’exemple suivant, la colonne PathItem – 4e élément à partir de la gauche est définie en tant que « = PATHITEM([Path], 4)
». Cet exemple, qui utilise les données de l’exemple Path(), retourne l’élément EmployeeKey situé en quatrième position dans la chaîne Path en partant de la gauche.
EmployeeKey | ParentEmployeeKey | Chemin | PathItem - 4e élément à partir de la 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 |
Fonction PATHITEMREVERSE – Retourne l’élément situé à la position spécifiée dans un résultat de type PATH(), en partant de la droite.
Dans l’exemple suivant, la colonne PathItemReverse – 3e élément à partir de la droite est définie en tant que « = PATHITEMREVERSE([Path], 3)
». Cet exemple, qui utilise les données de l’exemple Path(), retourne l’élément EmployeeKey situé en troisième position dans la chaîne Path en partant de la droite.
EmployeeKey | ParentEmployeeKey | Chemin | PathItemReverse - 3e élément à partir de la 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 |
Fonction PATHCONTAINS – Retourne TRUE si l’élément spécifié existe dans le chemin spécifié. Dans l’exemple suivant, la colonne PathContains – Employé 162 est définie en tant que « = 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 | FAUX | |
14 | 112 | 112|14 | false |
3 | 14 | 112|14|3 | FAUX |
11 | 3 | 112|14|3|11 | FAUX |
13 | 3 | 112|14|3|13 | FAUX |
162 | 3 | 112|14|3|162 | VRAI |
117 | 162 | 112|14|3|162|117 | VRAI |