Základné informácie o funkciách pre hierarchie typu nadradený-podriadený v jazyku DAX

Jazyk DAX poskytuje používateľom päť funkcií na pomoc so správou údajov, ktoré sú v ich modeloch prezentované ako hierarchie typu nadradený-podriadený. Pomocou týchto funkcií môže používateľ zistiť celý pôvod nadradených prvkov, ktoré má riadok, počet úrovní pôvodu k najvyššiemu nadradenmu prvku, nadradený prvok, ktorý je n-úrovní nad aktuálnym riadkom, n-potomka od najvyššej úrovne hierarchie aktuálneho riadka a či je určitý nadradený prvok nadradeným prvkom v hierarchii aktuálneho riadka?

Funkcie nadradených a podriadených prvkov v jazyku DAX

Nasledujúca tabuľka obsahuje hierarchiu typu nadradený-podriadený v stĺpcoch: EmployeeKey a ParentEmployeeKey , ktorá sa používa v príkladoch všetkých funkcií.

EmployeeKey ParentEmployeeKey
112
14 112
3 14
11 3
13 3
162 3
117 162
221 162
81 162

Vo vyššie uvedenej tabuľke môžete vidieť, že zamestnanec 112 nemá definovaný žiadny nadradený vzťah, zamestnanec 14 má ako manažéra zamestnanca 112 (ParentEmployeeKey), zamestnanec 3 má ako manažéra zamestnanca 14 a zamestnanci 11, 13 a 162 majú ako manažéra zamestnanca 3. Vyššie uvedené pomáha pochopiť, že zamestnanec 112 nemá nad sebou žiadneho manažéra a je najvyšším manažérom pre všetkých tu uvedených zamestnancov. tiež, zamestnanec 3 správy zamestnancovi 14 a zamestnanci 11, 13, 162 správa na 3.

Nasledujúca tabuľka obsahuje dostupné funkcie, stručný popis funkcie a príklad funkcie s použitím tých istých vyššie uvedených údajov.

Funkcia PATH – vráti text s oddeľovačmi, ktorý obsahuje identifikátory všetkých prvkov, ktoré sa nachádzajú v aktuálnom riadku, počnúc najstarším alebo najvyšším až po aktuálny.

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

Funkcia PATHLENGTH – vráti počet úrovní v danej funkcii PATH(), počnúc aktuálnou úrovňou až po najstaršiu alebo najvyššiu nadradenú úroveň. Stĺpec PathLength v nasledujúcom príklade je definovaný ako= PATHLENGTH([Path]) . Na jednoduchšie pochopenie fungovania tejto funkcie zahŕňa tento príklad všetky údaje z príkladu pre funkciu Path().

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

Funkcia PATHITEM – vráti položku na zadanej pozícii z výsledku podobného funkcii PATH(), počítajúc zľava doprava. Stĺpec PathItem – 4. zľava v nasledujúcom príklade je definovaný ako= PATHITEM([Path], 4) . Tento príklad vráti hodnotu EmployeKey na štvrtej pozícii v reťazci Path zľava a používa rovnaké vzorové údaje ako príklad pre funkciu Path().

EmployeeKey ParentEmployeeKey Cesta PathItem – 4. zľava
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

Funkcia PATHITEMREVERSE – vráti položku na pozícii z výsledku podobného funkcii PATH(), počítajúc spätne sprava doľava.
Stĺpec PathItemReverse – 3. sprava v nasledujúcom príklade je definovaný ako= PATHITEMREVERSE([Path], 3) . Tento príklad vráti hodnotu EmployeKey na tretej pozícii v reťazci Path sprava a používa rovnaké vzorové údaje ako príklad pre funkciu Path().

EmployeeKey ParentEmployeeKey Cesta PathItemReverse – 3. sprava
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

Funkcia PATHCONTAINS – vráti hodnotu TRUE , ak zadaná položka existuje v zadanej ceste. Stĺpec PathContains – zamestnanec 162 v nasledujúcom príklade je definovaný ako= PATHCONTAINS([Path], "162") . Tento príklad vráti hodnotu TRUE , ak daná cesta obsahuje zamestnanca 162. Tento príklad používa výsledky z vyššie uvedeného príkladu pre funkciu Path().

EmployeeKey ParentEmployeeKey Cesta PathContains – zamestnanec 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