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 and er en vis overordnet overordnet i det aktuelle rækkehierarki?
Overordnede/underordnede funktioner i DAX
Følgende tabel contains et Parent-Child hierarki i kolonnerne: EmployeeKeyandParentEmployeeKey-, der bruges i all 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 en overordnet, medarbejder 14 har medarbejder 112 som leder (ParentEmployeeKey), medarbejder 3 har medarbejder 14 som leder and medarbejdere 11, 13, and 162 har medarbejder 3 som leder. Ovenstående hjælper med at forstå, at medarbejder 112 ikke har nogen leder over hende/ham and hun/han er den øverste leder for all medarbejdere, der vises her; medarbejder 3 rapporterer også til medarbejder 14 and medarbejdere 11, 13, 162 rapport til 3.
I følgende tabel vises de tilgængelige funktioner, en kort beskrivelse af funktionen and et eksempel på funktionen over de samme data, der er vist ovenfor.
PATH funktion – returnerer en afgrænset tekst med id'erne for all de overordnede til den aktuelle række, startende med den ældste or øverst indtil aktuel.
EmployeeKey | ParentEmployeeKey | Path |
---|---|---|
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 or øverste overordnede niveau. I følgende eksempelkolonne er PathLength defineret som '= PATHLENGTH([Path])
'. eksemplet indeholder all data fra eksemplet Path() for at hjælpe med at forstå, hvordan denne funktion fungerer.
EmployeeKey | ParentEmployeeKey | Path | 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 funktion – returnerer elementet på den angivne placering fra et PATH() som resultat, regnet fra left til right. I følgende eksempelkolonne er PathItem - 4. fra left defineret som '= PATHITEM([Path], 4)
'. I dette eksempel returneres EmployeKey på fjerde placering i Path-strengen fra leftved hjælp af de samme sample data fra eksemplet Path().
EmployeeKey | ParentEmployeeKey | Path | PathItem - 4. fra left |
---|---|---|---|
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, hvor der tælles bagud fra right til left.
I følgende eksempelkolonne PathItemReverse – 3. fra right er defineret som '= PATHITEMREVERSE([Path], 3)
'. I dette eksempel returneres EmployeKey på tredje placering i strengen Path fra rightved hjælp af de samme sample data fra eksemplet Path().
EmployeeKey | ParentEmployeeKey | Path | PathItemReverse - 3. fra right |
---|---|---|---|
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
if den angivne item
i den angivne path
. I følgende eksempelkolonne PathContains – medarbejder 162 er defineret som '= PATHCONTAINS([Path], "162")
'; I dette eksempel returneres TRUE
if den angivne pathcontains medarbejder 162. I dette eksempel bruges resultaterne fra eksemplet Path() ovenfor.
EmployeeKey | ParentEmployeeKey | Path | 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 |