Jaa


Tietoja pää- ja alielementtihierarkioiden funktioista DAXissa

DAX tarjoaa viisi funktiota, joiden avulla käyttäjät voivat hallita malleissaan pää- ja alielementtihierarkiana esitettyjä tietoja. Tämän toiminnon avulla käyttäjä voi saada rivin pääelementti periytymisen, kuten kuinka monta periytymistasoa on ylimmältä pääelementiltä, mikä pääelementti on n-tasoa nykyistä riviä ylempänä, mikä on n-alikohde nykyisen rivihierarkian yläosasta ja onko tietty pääelementti nykyisen rivihierarkian pääelementti.

Pää- ja alielementtifunktiot DAXissa

Seuraavassa taulukossa on Parent-Child-hierarkia sarakkeissa: EmployeeKey- ja ParentEmployeeKey-, jota käytetään kaikissa funktioesimerkeistä.

Työntekijän avain ParentEmployeeKey
112
14 112
3 14
11 3
13 3
162 3
117 162
221 162
81 162

Yllä olevasta taulukosta näet, että työntekijälle 112 ei ole määritetty pääkohdetta, työntekijän 14 esimiehenä on työntekijä 112 (ParentEmployeeKey), työntekijän 3 esimiehenä on työntekijä 14 ja työntekijöiden 11, 13 ja 162 esimiehenä on työntekijä 3. Yllä oleva auttaa ymmärtämään, että työntekijällä 112 ei ole esimiestä hänen yläpuolellaan ja että hän on kaikkien tässä näkyvien työntekijöiden ylin esimies; myös työntekijä 3 raportoi työntekijälle 14 ja työntekijät 11, 13, 162 raportoivat työntekijälle 3.

Seuraavassa taulukossa esitetään käytettävissä olevat funktiot, funktion lyhyt kuvaus ja esimerkki funktiosta yllä esitettyjä tietoja käyttäen.

PATHfunktio – Palauttaa erotellun tekstin, joka sisältää nykyisen rivin kaikkien pääkohteiden tunnisteet vanhimmasta tai ylimmästä nykyiseen.

Työntekijän avain ParentEmployeeKey Polku
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

PATHLENGTHfunktio – Palauttaa annetun PATH()-funktion tasojen määrän nykyisestä tasosta vanhimpaan tai ylimpään pääelementtitasoon. Seuraavassa esimerkissä PathLength-sarake on määritetty muodossa '= PATHLENGTH([Path])'; Esimerkki sisältää kaikki Path()-esimerkin tiedot, jotka auttavat ymmärtämään tämän funktion toimintaa.

Työntekijän avain ParentEmployeeKey Polku 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

pathITEMfunktio – Palauttaa kohteen määritetyssä sijainnissa PATH()-nämästä tuloksesta laskettuna vasemmalta oikealle. Seuraavassa esimerkissä PathItem - 4th from left -sarake on määritetty muodossa '= PATHITEM([Path], 4)'; tämä esimerkki palauttaa employekey-kohteen neljännellä sijalla Path-merkkijonossa vasemmalta käyttäen samoja mallitietoja Path()-esimerkistä.

Työntekijän avain ParentEmployeeKey Polku PathItem - 4th from 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

pathITEMREVERSEfunktio – Palauttaa kohteen path()-pohjaisesta funktion tuloksesta position laskettuna taaksepäin oikealta vasemmalle.
Seuraavassa esimerkissä PathItemReverse - 3rd from right -sarake on määritetty muodossa '= PATHITEMREVERSE([Path], 3)'. tämä esimerkki palauttaa employekey-kohteen polun merkkijonon kolmannessa sijainnissa vasemmalta käyttäen samoja mallitietoja Path()-esimerkistä.

Työntekijän avain ParentEmployeeKey Polku PathItemReverse - 3rd from 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-funktio – Palauttaa TRUE, jos määritetty item on olemassa määritetyn pathsisällä. Seuraavassa esimerkissä PathContains - employee 162 -sarake on määritetty muodossa '= PATHCONTAINS([Path], "162")'. Tämä esimerkki palauttaa TRUE, jos annettu polku sisältää työntekijän 162. Tässä esimerkissä käytetään edellä olevan Path()-esimerkin tuloksia.

Työntekijän avain ParentEmployeeKey Polku PathContains - employee 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