Principy funkcí pro hierarchie nadřazených a podřízených v jazyce DAX
JAZYK DAX poskytuje pět funkcí, které uživatelům pomáhají spravovat data, která jsou ve svých modelech prezentována jako hierarchie nadřazených a podřízených. Díky této funkci může uživatel získat celou rodokmen nadřazeného řádku, kolik úrovní má rodokmen nejvyšší nadřazené úrovně, který je nadřazený n-úrovní nad aktuálním řádkem, který je n-následníkem z horní části aktuální hierarchie řádků a je určitým nadřazeným objektem v aktuální hierarchii řádků?
Funkce nadřazenosti a podřízenosti v jazyce DAX
Následující tabulka obsahuje hierarchii Parent-Child ve sloupcích: EmployeeKey a ParentEmployeeKey , která se používá ve všech příkladech funkcí.
EmployeeKey | ParentEmployeeKey |
---|---|
112 | |
14 | 112 |
3 | 14 |
11 | 3 |
13 | 3 |
162 | 3 |
117 | 162 |
221 | 162 |
81 | 162 |
V tabulce výše vidíte, že zaměstnanec 112 nemá definovaný žádný rodič, zaměstnanec 14 má zaměstnance 112 jako manažer (ParentEmployeeKey), zaměstnanec 3 má zaměstnance 14 jako vedoucí a zaměstnanci 11, 13 a 162 mají zaměstnance 3 jako vedoucí. Výše uvedené informace pomáhají pochopit, že zaměstnanec 112 nemá nad sebou vedoucího a ona/on je nejvyšší manažer pro všechny zaměstnance, kteří jsou zde uvedeni; zaměstnanci 3 také hlásí zaměstnancům 14 a zaměstnancům 11, 13, 162 zprávy na 3.
Následující tabulka obsahuje dostupné funkce, stručný popis funkce a příklad funkce nad stejnými daty uvedenými výše.
Funkce PATH – Vrátí text s oddělovači s identifikátory všech nadřazených prvků aktuálního řádku, počínaje nejstarším nebo nejvyšším až aktuálním řádkem.
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 |
Funkce PATHLENGTH – vrátí počet úrovní v dané cestě PATH(), počínaje aktuální úrovní až do nejstarší nebo nejvyšší nadřazené úrovně. V následujícím příkladu je sloupec PathLength definován jako '= PATHLENGTH([Path])
' ; příklad obsahuje všechna data z příkladu Path(), aby pomohl pochopit, jak tato funkce funguje.
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 |
Funkce PATHITEM – vrátí položku na zadané pozici z výsledku podobného PATH(), počítá se zleva doprava. V následujícím příkladu sloupec PathItem - 4. zleva je definován jako '= PATHITEM([Path], 4)
'; tento příklad vrátí EmployeKey na čtvrté pozici v řetězci Path zleva pomocí stejných ukázkových dat z příkladu Path().
EmployeeKey | ParentEmployeeKey | Cesta | PathItem – 4. zleva |
---|---|---|---|
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 – vrátí položku na pozici z výsledku funkce PATH(), jako je výsledek funkce, počítá se zpět zprava doleva.
V následujícím příkladu sloupec PathItemReverse – třetí zprava je definován jako '= PATHITEMREVERSE([Path], 3)
'; tento příklad vrátí EmployeKey na třetí pozici v řetězci Path zprava pomocí stejných ukázkových dat z příkladu Path().
EmployeeKey | ParentEmployeeKey | Cesta | PathItemReverse – třetí zprava |
---|---|---|---|
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 |
Funkce PATHCONTAINS – vrátí hodnotu TRUE , pokud zadaná položka existuje v zadané cestě. V následujícím příkladu sloupec PathContains - employee 162 je definován jako '= PATHCONTAINS([Path], "162")
'; tento příklad vrátí hodnotu PRAVDA , pokud daná cesta obsahuje zaměstnance 162. Tento příklad používá výsledky z výše uvedeného příkladu Path().
EmployeeKey | ParentEmployeeKey | Cesta | PathContains – zaměstnanec 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 |
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro