Meer informatie over functies voor hiërarchie met boven- en onderliggende elementen in DAX

DAX biedt vijf functies waarmee gebruikers gegevens kunnen beheren die als een hiërarchie met boven- en onderliggende elementen in hun modellen worden weergegeven. Met deze functies kan een gebruiker de gehele herkomst met bovenliggende elementen van een rij verkrijgen, ontdekken hoeveel niveaus de herkomst naar het bovenste element heeft, hoeveel bovenliggende elementen boven de huidige rij liggen, wie het n-de element vanaf de bovenkant van de hiërarchie van de huidige rij is en welk element een bovenliggend element in de hiërarchie van de huidige rij is.

Functies voor boven- en onderliggende elementen in DAX

De volgende tabel bevat een hiërarchie met boven- en onderliggende elementen voor de kolommen: EmployeeKey en ParentEmployeeKey die in alle functievoorbeelden worden gebruikt.

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

In de bovenstaande tabel ziet u dat er voor werknemer 112 geen bovenliggend element is gedefinieerd, werknemer 14 werknemer 112 als manager heeft (ParentEmployeeKey), werknemer 3 werknemer 14 als manager heeft en werknemers 11, 13, en 162 werknemer 3 als manager hebben. Met de bovenstaande informatie leren we dat werknemer 112 geen manager boven hem of haar heeft staan en dat hij of zij de hoogste manager is voor alle werknemers die hier worden weergegeven; bovendien is werknemer 3 een ondergeschikte van werknemer 14 en zijn werknemers 11, 13, 162 ondergeschikt aan 3.

In de volgende tabel ziet u de beschikbare functies, een korte beschrijving van de functie en een voorbeeld van de functie voor dezelfde gegevens als die hierboven zijn weergegeven.

De functie PATH: retourneert een tekst met scheidingstekens en de id's van alle bovenliggende elementen van de huidige rij, beginnende met oudste of nieuwste tot aan heden.

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

De functie PATHLENGTH: retourneert het aantal niveaus in een opgegeven PATH(), beginnende bij het huidige niveau tot aan het oudste of meeste bovenliggende element. In het volgende voorbeeld wordt de kolom PathLength gedefinieerd als '= PATHLENGTH([Path])'; het voorbeeld bevat alle gegevens van het Path()-voorbeeld zodat u kunt leren hoe deze functie werkt.

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

De functie PATHITEM: retourneert het item op de opgegeven positie van een PATH()-resultaat, waarbij wordt geteld van links naar rechts. In het volgende voorbeeld wordt de kolom PathItem (4e van links) gedefinieerd als '= PATHITEM([Path], 4)'; in dit voorbeeld wordt de EmployeKey op de vierde positie vanaf links in de Path-tekenreeks geretourneerd, waarbij dezelfde voorbeeldgegevens worden gebruikt als in het Path()-voorbeeld.

EmployeeKey ParentEmployeeKey Pad PathItem (4e van links)
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

De functie PATHITEMREVERSE: retourneert het item op positie van een PATH()-functieresultaat, waarbij terug wordt geteld van rechts naar links.
In het volgende voorbeeld wordt de kolom PathItemReverse (3e van rechts) gedefinieerd als '= PATHITEMREVERSE([Path], 3)'; in dit voorbeeld wordt de EmployeKey op de derde positie vanaf rechts in de Path-tekenreeks geretourneerd, waarbij dezelfde voorbeeldgegevens worden gebruikt als in het Path()-voorbeeld.

EmployeeKey ParentEmployeeKey Pad PathItemReverse (3e van rechts)
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

De functie PATHCONTAINS: retourneert TRUE als het opgegeven item binnen het opgegeven path bestaat. In het volgende voorbeeld wordt kolom PathContains - werknemer 162 gedefinieerd als ' ' ; in dit voorbeeld wordt TRUE als het opgegeven pad = PATHCONTAINS([Path], "162") werknemer 162 bevat. = PATHCONTAINS([Path], "162") In dit voorbeeld worden de resultaten van het bovenstaande Path()-voorbeeld gebruikt.

EmployeeKey ParentEmployeeKey Pad PathContains - werknemer 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