Om funktioner for overordnede/underordnede-hierarkier i DAX

DAX indeholder fem funktioner, der hjælper brugerne med at administrere data, som præsenteres som et overordnet/underordnet-hierarki i deres modeller. Med disse funktioner kan en bruger få vist hele afstamningen af overordnede for en række, hvor mange niveauer afstamningen har op til den øverste overordnet, hvilke niveauer der er de overordnede n-niveauer over den aktuelle række, hvilken række der er den n-underordnede fra toppen af det aktuelle rækkehierarki, og om en bestemt overordnet en overordnet i det aktuelle rækkehierarki.

Overordnede/underordnede-funktioner i DAX

Følgende tabel indeholder et overordnet/underordnet-hierarki for kolonnerne: EmployeeKey og ParentEmployeeKey, der bruges i alle funktionens eksempler.

EmployeeKey ParentEmployeeKey
112
14 112
3 14
11 3
13 3
162 3
117 162
221 162
81 162

I tabellen ovenfor kan du se, at medarbejder 112 ikke har en overordnet defineret, medarbejder 14 har medarbejder 112 som chef (ParentEmployeeKey), medarbejder 3 har medarbejder 14 som leder, og medarbejdere 11, 13 og 162 har medarbejder 3 som leder. Ovenstående hjælper med til at forstå, at medarbejderen 112 ikke har nogen leder over sig, og at den pågældende er den øverste leder for alle de medarbejdere, der er vist her. Desuden rapporterer medarbejder 3 til medarbejder 14 og medarbejder 11, 13 og 162 rapporterer til 3.

Følgende tabel præsenterer de tilgængelige funktioner, en kort beskrivelse af funktionen og et eksempel på funktionen over de samme data, der er vist ovenfor.

Funktionen PATH – returnerer en afgrænset tekst med alle identifikatorer for alle de overordnede rækker for den aktuelle række med start ved den ældste eller øverste indtil den aktuelle.

EmployeeKey ParentEmployeeKey Sti
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

Funktionen PATHLENGTH – returnerer antallet af niveauer i en given PATH() med start ved det aktuelle niveau indtil det ældste eller øverste overordnede niveau. I følgende eksempelkolonne er PathLength defineret som '= PATHLENGTH([Path])'. I eksemplet medtages alle data fra Path()-eksemplet som en hjælp til at forstå, hvordan funktionen fungerer.

EmployeeKey ParentEmployeeKey Sti 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

Funktionen PATHITEM – returnerer elementet på den angivne placering fra en PATH() som resultatet, hvor der tælles venstre mod højre. I følgende eksempelkolonne funktionerne er PathItem – 4. fra venstre defineret som '= PATHITEM([Path], 4)'. I dette eksempel returneres EmployeKey på fjerde placering fra venstre i Path-strengen, hvor der bruges de samme eksempeldata fra Path()-eksemplet.

EmployeeKey ParentEmployeeKey Sti PathItem – 4. fra venstre
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

Funktionen PATHITEMREVERSE – returnerer elementet på placeringen fra en PATH() som funktionsresultatet, hvor der tælles baglæns fra højre mod venstre.
I følgende eksempelkolonne er PathItemReverse – 3. fra venstre defineret som '= PATHITEMREVERSE([Path], 3)'. I dette eksempel returneres EmployeKey på tredje placering fra højre i Path-strengen, hvor der bruges de samme eksempeldata fra Path()-eksemplet.

EmployeeKey ParentEmployeeKey Sti PathItemReverse – -3. fra højre
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

Funktionen PATHCONTAINS – returnerer TRUE, hvis det angivne element findes i den angivne sti. I følgende eksempel på kolonne PathContains – medarbejder 162 er defineret som ' = PATHCONTAINS([Path], "162") '. dette eksempel returnerer = PATHCONTAINS([Path], "162") , hvis den angivne sti indeholder medarbejder 162. I dette eksempel bruges resultaterne fra Path()-eksemplet ovenfor.

EmployeeKey ParentEmployeeKey Sti PathContains – medarbejder 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