Informazioni sulle funzioni per le gerarchie padre-figlio in DAX
DAX fornisce cinque funzioni che consentono agli utenti di gestire i dati presentati come gerarchia padre-figlio nei modelli. Con queste funzioni un utente può ottenere l'intera derivazione dei padre di una riga, quanti livelli hanno la derivazione al padre superiore, chi è il livello n padre sopra la riga corrente, chi è il discendente n dall'inizio della gerarchia di righe corrente and è un elemento padre nella gerarchia di righe corrente?
Funzioni padre-figlio in DAX
La tabella seguente contains una gerarchia di Parent-Child nelle colonne: EmployeeKeyandParentEmployeeKey usata in all esempi di funzioni.
EmployeeKey | ParentEmployeeKey |
---|---|
112 | |
14 | 112 |
3 | 14 |
11 | 3 |
13 | 3 |
162 | 3 |
117 | 162 |
221 | 162 |
81 | 162 |
Nella tabella precedente si può notare che il dipendente 112 non ha un genitore definito, il dipendente 14 ha un dipendente 112 come manager (ParentEmployeeKey), il dipendente 3 ha un dipendente 14 come manager and dipendenti 11, 13, and 162 hanno un dipendente 3 come manager. L'articolo precedente aiuta a capire che il dipendente 112 non ha un manager superiore a lei/lui and lei/lui è il top manager per all dipendenti mostrati qui; inoltre, i dipendenti 3 segnalano ai dipendenti 14 and dipendenti 11, 13, 162 rapporto a 3.
La tabella seguente presenta le funzioni disponibili, una breve descrizione della funzione and un esempio della funzione sugli stessi dati illustrati in precedenza.
PATH funzione: restituisce un testo delimitato con gli identificatori di all i padre alla riga corrente, a partire dal or meno recente fino a quando non è più recente.
EmployeeKey | ParentEmployeeKey | Path |
---|---|---|
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 funzione: restituisce il numero di livelli in un determinato PATH(), a partire dal livello corrente fino al livello principale or più vecchio. Nella colonna di esempio seguente PathLength è definita come '= PATHLENGTH([Path])
'; L'esempio include all dati dell'esempio di Path() per comprendere il funzionamento di questa funzione.
EmployeeKey | ParentEmployeeKey | Path | 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 funzione: restituisce l'elemento nella posizione specificata da un PATH() come risultato, contando da left a right. Nella colonna di esempio seguente PathItem - 4 da left è definita come '= PATHITEM([Path], 4)
'; In questo esempio viene restituita la proprietà EmployeKey alla quarta posizione nella stringa Path della left, usando gli stessi dati sample dell'esempio di Path().
EmployeeKey | ParentEmployeeKey | Path | PathItem - 4 da 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 |
PATHITEMREVERSE funzione: restituisce l'elemento in corrispondenza di position
da un risultato della funzione PATH(), contando all'indietro da right a left.
Nella colonna di esempio seguente PathItemReverse - 3a da right è definita come '= PATHITEMREVERSE([Path], 3)
'; In questo esempio viene restituita la proprietà EmployeKey alla terza posizione nella stringa Path della right, usando gli stessi dati sample dell'esempio di Path().
EmployeeKey | ParentEmployeeKey | Path | PathItemReverse - Terzo 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 funzione: restituisce TRUE
if il item
specificato esiste all'interno del path
specificato. Nella colonna di esempio seguente PathContains - employee 162 è definito come '= PATHCONTAINS([Path], "162")
'; in questo esempio viene restituito TRUE
if l'pathcontains dipendente 162 specificato. In questo esempio vengono usati i risultati dell'esempio di Path().
EmployeeKey | ParentEmployeeKey | Path | PathContains - dipendente 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 |