Förstå funktioner för överordnade och underordnade hierarkier i DAX
DAX innehåller fem funktioner som hjälper användare att hantera data som visas som en överordnad-underordnad hierarki i sina modeller. Med de här funktionerna kan en användare hämta hela ursprunget för överordnade rader som en rad har, hur många nivåer har ursprunget till den överordnade överordnad, vem är den överordnade n-nivån ovanför den aktuella raden, vem är n-underordnade från toppen av den aktuella radhierarkin och är viss överordnad i den aktuella radhierarkin?
Överordnad-underordnade funktioner i DAX
Följande tabell innehåller en överordnad-underordnad hierarki i kolumnerna: EmployeeKey och ParentEmployeeKey som används i alla funktionsexempel.
EmployeeKey | ParentEmployeeKey |
---|---|
112 | |
14 | 112 |
3 | 14 |
11 | 3 |
13 | 3 |
162 | 3 |
117 | 162 |
221 | 162 |
81 | 162 |
I tabellen ovan ser du att medarbetare 112 inte har någon överordnad definierad, medarbetare 14 har medarbetare 112 som chef (ParentEmployeeKey), medarbetare 3 har medarbetare 14 som chef och anställda 11, 13 och 162 har medarbetare 3 som chef. Ovanstående hjälper till att förstå att medarbetare 112 inte har någon chef över sig och att hon/han är den högsta chefen för alla anställda som visas här; personal 3 rapporterar till medarbetare 14 och anställda 11, 13, 162 rapporterar till 3.
I följande tabell visas tillgängliga funktioner, en kort beskrivning av funktionen och ett exempel på funktionen över samma data som visas ovan.
FUNKTIONEN PATH – Returnerar en avgränsad text med identifierarna för alla överordnade till den aktuella raden, från och med den äldsta eller översta tills den är aktuell.
EmployeeKey | ParentEmployeeKey | Sökväg |
---|---|---|
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 – Returnerar antalet nivåer i en viss PATH(), som börjar på aktuell nivå till den äldsta eller översta överordnade nivån. I följande exempel definieras PathLength som '= PATHLENGTH([Path])
'. Exemplet innehåller alla data från Path()-exemplet för att förstå hur den här funktionen fungerar.
EmployeeKey | ParentEmployeeKey | Sökväg | 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 – Returnerar objektet på den angivna positionen från ett PATH() som resultat, räknat från vänster till höger. I följande exempelkolumn definieras PathItem – 4:e från vänster som '= PATHITEM([Path], 4)
'. Det här exemplet returnerar EmployeKey på fjärde plats i sökvägssträngen från vänster med samma exempeldata från Path()-exemplet.
EmployeeKey | ParentEmployeeKey | Sökväg | PathItem – 4:e från vänster |
---|---|---|---|
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 – Returnerar objektet vid position från ett PATH() som funktionsresultat och räknar bakåt från höger till vänster.
I följande exempelkolumn definieras PathItemReverse – 3:e från höger som '= PATHITEMREVERSE([Path], 3)
'. Det här exemplet returnerar EmployeKey på tredje plats i sökvägssträngen från höger med samma exempeldata från Path()-exemplet.
EmployeeKey | ParentEmployeeKey | Sökväg | PathItemReverse – 3:e från höger |
---|---|---|---|
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 – Returnerar TRUE om det angivna objektet finns inom den angivna sökvägen. I följande exempelkolumn definieras PathContains – employee 162 som '= PATHCONTAINS([Path], "162")
'. Det här exemplet returnerar TRUE om den angivna sökvägen innehåller medarbetare 162. I det här exemplet används resultaten från path()-exemplet ovan.
EmployeeKey | ParentEmployeeKey | Sökväg | PathContains – anställd 162 |
---|---|---|---|
112 | 112 | FALSKT | |
14 | 112 | 112|14 | FALSKT |
3 | 14 | 112|14|3 | FALSKT |
11 | 3 | 112|14|3|11 | FALSKT |
13 | 3 | 112|14|3|13 | FALSKT |
162 | 3 | 112|14|3|162 | Sant |
117 | 162 | 112|14|3|162|117 | Sant |
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för