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 |