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 |