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 and is een bepaald bovenliggend item in de huidige rijhiërarchie?

Bovenliggende en onderliggende functies in DAX

De volgende tabel contains een Parent-Child-hiërarchie in de kolommen: EmployeeKeyandParentEmployeeKey die wordt gebruikt in all de voorbeelden van functies.

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

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

PATH functie: retourneert een tekst met scheidingstekens met de id's van all de bovenliggende items naar de huidige rij, beginnend met de oudste or hoogste tot heden.

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 functie : retourneert het aantal niveaus in een gegeven PATH(), beginnend op huidig niveau tot het oudste or bovenliggend niveau. In de volgende voorbeeldkolom wordt PathLength gedefinieerd als '= PATHLENGTH([Path])'; het voorbeeld bevat all gegevens uit het Path() voorbeeld om te begrijpen hoe deze functie werkt.

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 functie : retourneert het item op de opgegeven positie van een PATH() zoals resultaat, tellend van left tot right. In de volgende voorbeeldkolom PathItem - 4e van left is gedefinieerd als '= PATHITEM([Path], 4)'; in dit voorbeeld wordt de EmployeKey op de vierde positie in de Path tekenreeks uit de leftgeretourneerd, met behulp van dezelfde sample gegevens uit het Path(voorbeeld).

EmployeeKey ParentEmployeeKey Path PathItem - 4e van 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 functie : retourneert het item op position van een PATH() zoals functieresultaat, waardoor achteruit wordt geteld van right naar left. In de volgende voorbeeldkolom PathItemReverse - 3e van right is gedefinieerd als '= PATHITEMREVERSE([Path], 3)'; in dit voorbeeld wordt de EmployeKey geretourneerd op de derde positie in de Path tekenreeks uit de right, met behulp van dezelfde sample gegevens uit het Path(voorbeeld).

EmployeeKey ParentEmployeeKey Path PathItemReverse - 3e van 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 functie : retourneert TRUEif de opgegeven item bestaat binnen de opgegeven path. In de volgende voorbeeldkolom PathContains - werknemer 162 wordt gedefinieerd als '= PATHCONTAINS([Path], "162")'; in dit voorbeeld wordt TRUEif de opgegeven pathcontains werknemer 162 geretourneerd. In dit voorbeeld worden de resultaten uit het bovenstaande Path() gebruikt.

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