Delen via


Functies voor bovenliggende en onderliggende hiërarchieën in DAX

DAX biedt vijf functies waarmee gebruikers gegevens kunnen beheren die worden gepresenteerd als een bovenliggende en onderliggende hiërarchie in hun modellen. Met deze functies kan een gebruiker de volledige herkomst van bovenliggende bovenliggende rijen verkrijgen, hoeveel niveaus de herkomst hebben tot het bovenste bovenliggende item, wie is de bovenliggende n-niveaus boven de huidige rij, wie is de n-afstammeling van de bovenkant van de huidige rijhiërarchie en is bepaalde bovenliggende rijhiërarchie?

Bovenliggende en onderliggende functies in DAX

De volgende tabel bevat een Parent-Child hiërarchie in de kolommen: EmployeeKey en ParentEmployeeKey die wordt gebruikt in alle functiesvoorbeelden.

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 werknemer 112 geen ouder heeft gedefinieerd, werknemer 14 werknemer 112 heeft als manager (ParentEmployeeKey), werknemer 3 heeft werknemer 14 als manager en werknemers 11, 13 en 162 werknemer 3 als manager. Het bovenstaande helpt te begrijpen dat werknemer 112 geen manager boven haar/hem heeft en zij/hij de topmanager is voor alle werknemers die hier worden weergegeven; ook rapporteert werknemer 3 aan werknemer 14 en werknemers 11, 13, 162 rapporteren aan 3.

De volgende tabel bevat de beschikbare functies, een korte beschrijving van de functie en een voorbeeld van de functie voor dezelfde gegevens die hierboven worden weergegeven.

PATH functie : retourneert een tekst met scheidingstekens met de id's van alle bovenliggende items naar de huidige rij, beginnend met het oudste of hoogste hoogste tot 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

PATHLENGTH functie : geeft als resultaat het aantal niveaus in een gegeven PATH(), beginnend op het huidige niveau tot het oudste of hoogste bovenliggende niveau. In het volgende voorbeeld wordt kolom PathLength gedefinieerd als '= PATHLENGTH([Path])'; het voorbeeld bevat alle gegevens uit het path()-voorbeeld om te begrijpen 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

PATHITEM functie : retourneert het item op de opgegeven positie vanaf een PATH() zoals resultaat, van links naar rechts tellen. In het volgende voorbeeld wordt kolom PathItem - 4e van links gedefinieerd als '= PATHITEM([Path], 4)'; in dit voorbeeld wordt de EmployeKey geretourneerd op de vierde positie in de padtekenreeks aan de linkerkant, met behulp van dezelfde voorbeeldgegevens uit het voorbeeld Path().

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

PATHITEMREVERSE functie : retourneert het item op position van een PATH() zoals functieresultaat, waardoor het achterwaarts wordt geteld van rechts naar links. In het volgende voorbeeld wordt kolom PathItemReverse - 3e van rechts gedefinieerd als '= PATHITEMREVERSE([Path], 3)'; in dit voorbeeld wordt de EmployeKey geretourneerd op de derde positie in de padtekenreeks aan de rechterkant, met behulp van dezelfde voorbeeldgegevens uit het voorbeeld Path().

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

PATHCONTAINS functie : retourneert TRUE als de opgegeven item binnen de opgegeven pathbestaat. In het volgende voorbeeld wordt kolom PathContains - werknemer 162 gedefinieerd als '= PATHCONTAINS([Path], "162")'; in dit voorbeeld wordt TRUE geretourneerd als het opgegeven pad werknemer 162 bevat. In dit voorbeeld worden de resultaten uit 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