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 path
bestaat. 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 |