Om funktioner for overordnede/underordnede hierarkier i DAX
DAX indeholder fem funktioner, der kan hjælpe brugerne med at administrere data, der præsenteres som et overordnet/underordnet-hierarki i deres modeller. Med disse funktioner kan en bruger hente hele afstamningen af overordnede rækker, hvor mange niveauer har afstamningen til den øverste overordnede, hvem er de overordnede n-niveauer over den aktuelle række, hvem er n-underordnet fra toppen af det aktuelle rækkehierarki og er en bestemt overordnet overordnet i det aktuelle rækkehierarki?
Overordnede/underordnede funktioner i DAX
Følgende tabel indeholder et Parent-Child hierarki for kolonnerne: EmployeeKey- og ParentEmployeeKey-, der bruges i alle funktionseksemplerne.
EmployeeKey | ParentEmployeeKey |
---|---|
112 | |
14 | 112 |
3 | 14 |
11 | 3 |
13 | 3 |
162 | 3 |
117 | 162 |
221 | 162 |
81 | 162 |
I ovenstående tabel kan du se, at medarbejder 112 ikke har defineret nogen overordnet, 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 at forstå, at medarbejder 112 ikke har nogen leder over hende/ham, og at hun/han er den øverste leder for alle de medarbejdere, der vises her; medarbejder 3 rapporterer også til medarbejder 14 og medarbejdere 11, 13, 162 rapporter til 3.
I følgende tabel vises de tilgængelige funktioner, en kort beskrivelse af funktionen og et eksempel på funktionen over de samme data, der er vist ovenfor.
PATH funktion – returnerer en afgrænset tekst med id'erne for alle de overordnede til den aktuelle række, startende med 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 |
PATHLENGTH funktion – returnerer antallet af niveauer i en given PATH(), der starter ved det aktuelle niveau indtil det ældste eller øverste overordnede niveau. I følgende eksempelkolonne er PathLength defineret som '= PATHLENGTH([Path])
'. eksemplet indeholder alle data fra Path()-eksemplet for at hjælpe med at forstå, hvordan denne funktion fungerer.
EmployeeKey | ParentEmployeeKey | Sti | Stilængde |
---|---|---|---|
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 funktion – returnerer elementet på den angivne placering fra et PATH() som resultat, hvor der tælles fra venstre mod højre. I følgende eksempelkolonne er PathItem – 4. fra venstre defineret som '= PATHITEM([Path], 4)
'. I dette eksempel returneres EmployeKey på fjerde placering i path-strengen fra venstre ved hjælp af 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 |
PATHITEMREVERSE funktion – returnerer elementet ved position
fra en PATH() som funktionsresultatet og tæller bagud fra højre mod venstre.
I følgende eksempelkolonne er PathItemReverse – 3. fra højre defineret som '= PATHITEMREVERSE([Path], 3)
'; I dette eksempel returneres EmployeKey på tredje placering i path-strengen fra højre ved hjælp af 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 |
PATHCONTAINS funktion – returnerer TRUE
, hvis den angivne item
findes i den angivne path
. I følgende eksempelkolonne PathContains – er medarbejder 162 defineret som '= PATHCONTAINS([Path], "162")
'; I dette eksempel returneres TRUE
, 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 |