Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
DAX fournit cinq fonctions qui permettent aux utilisateurs de gérer les données présentées sous forme de hiérarchie de type parent-enfant dans leurs modèles. Avec ces fonctions, un utilisateur peut obtenir le lignage entier des parents d'une ligne, connaître le nombre de niveaux du lignage jusqu'au parent supérieur, identifier les niveaux n parents au-dessus de la ligne actuelle, identifier le descendant n par rapport au sommet de la hiérarchie de ligne actuelle, et déterminer si un parent spécifique est bien un parent dans la hiérarchie de ligne actuelle.
Fonctions parent-enfant dans DAX
Le tableau suivant contient une hiérarchie de type parent-enfant relative aux colonnes : EmployeeKey et ParentEmployeeKey, qui 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 le tableau ci-dessus, vous pouvez voir que l'employé 112 n'a aucun parent défini, l'employé 14 a l'employé 112 comme responsable (ParentEmployeeKey), l'employé 3 a l'employé 14 comme responsable, et les employés 11, 13 et 162 ont l'employé 3 comme responsable. Les informations ci-dessus nous aident à comprendre que l'employé 112 n'a aucun responsable hiérarchique et qu'il est le plus haut responsable de tous les employés indiqués ici ; par ailleurs, l'employé 3 doit rendre compte à l'employé 14, alors que les employés 11, 13 et 162 doivent rendre compte à l'employé 3.
Le tableau suivant présente les fonctions disponibles, ainsi qu'une brève description et un exemple de chaque fonction à partir des données indiquées ci-dessus.
Fonction |
Description / Exemple |
||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Retourne un texte délimité avec les identificateurs de tous les parents de la ligne actuelle, depuis l'élément le plus ancien ou le plus élevé jusqu'à l'élément actuel. Dans l'exemple suivant, la colonne « Path » est définie comme suit : « =PATH(EmployeeKey, ParentEmployeeKey) »
|
|||||||||||||||||||||||||||||||||||||||||
Retourne le nombre de niveaux d'un PATH() donné, depuis le niveau actuel jusqu'au niveau parent le plus ancien ou le plus élevé. Dans l'exemple suivant, la colonne PathLength est définie comme suit « =PATHLENGTH([Path]) » ; l'exemple inclut toutes les données de l'exemple Path() afin de faciliter la compréhension du fonctionnement de cette fonction.
|
|||||||||||||||||||||||||||||||||||||||||
Retourne l'élément à la position spécifiée à partir du résultat de la fonction PATH(), en comptant de gauche à droite. Dans l'exemple suivant, la colonne PathItem - 4e position en partant de la gauche est définie comme suit : « =PATHITEM([Path], 4) » ; cet exemple retourne EmployeKey à la quatrième position en partant de la gauche de la chaîne Path, à l'aide des mêmes données que celles de l'exemple Path().
|
|||||||||||||||||||||||||||||||||||||||||
Retourne l'élément situé à position à partir d'un résultat de fonction PATH(), en comptant en sens inverse, de droite à gauche. Dans l'exemple suivant, la colonne PathItemReverse - 3e position en partant de la droite est définie comme suit : « =PATHITEMREVERSE([Path], 3) » ; cet exemple retourne EmployeKey à la troisième position en partant de la droite de la chaîne Path, à l'aide des mêmes données que celles de l'exemple Path().
|
|||||||||||||||||||||||||||||||||||||||||
Retourne TRUE si le paramètre item spécifié existe dans le paramètre path spécifié. Dans l'exemple suivant, la colonne PathContains - employé 162 est définie comme suit : « =PATHCONTAINS([Path], "162") » ; cet exemple retourne TRUE si le chemin d'accès donné contient l'employé 162. Cet exemple utilise les résultats de l'exemple Path() ci-dessus.
|
Attention |
|---|
Dans SQL Server 2012 Analysis Services, le moteur d'analyse en mémoire xVelocity (VertiPaq) ne prend pas en charge la définition des hiérarchies de type parent-enfant ; toutefois, le langage DAX fournit un ensemble de fonctions qui permettent aux utilisateurs d'explorer les hiérarchies de type parent-enfant et de les utiliser dans des formules. |
Attention