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 ed è certo padre nella gerarchia di righe corrente?
Funzioni padre-figlio in DAX
La tabella seguente contiene una gerarchia di Parent-Child nelle colonne: EmployeeKey e ParentEmployeeKey usata in tutti gli 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 padre definito, il dipendente 14 ha un dipendente 112 come manager (ParentEmployeeKey), il dipendente 3 ha un dipendente 14 come manager e dipendenti 11, 13 e 162 hanno un dipendente 3 come manager. Il precedente aiuta a capire che il dipendente 112 non ha un manager sopra di lei/lui e lei/lui è il top manager per tutti i dipendenti mostrati qui; inoltre, i dipendenti 3 segnalano ai dipendenti 14 e dipendenti 11, 13, 162 segnalano a 3.
La tabella seguente presenta le funzioni disponibili, una breve descrizione della funzione e un esempio della funzione sugli stessi dati illustrati in precedenza.
PATH funzione: restituisce un testo delimitato con gli identificatori di tutti gli elementi padre alla riga corrente, a partire dal più vecchio o dall'alto fino a quello corrente.
EmployeeKey | ParentEmployeeKey | Sentiero |
---|---|---|
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 o meno recente. Nella colonna di esempio seguente PathLength è definita come '= PATHLENGTH([Path])
'; L'esempio include tutti i dati dell'esempio Path() per comprendere il funzionamento di questa funzione.
EmployeeKey | ParentEmployeeKey | Sentiero | 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 sinistra a destra. Nella colonna di esempio seguente PathItem - 4 da sinistra è definita come '= PATHITEM([Path], 4)
'; In questo esempio viene restituita la proprietà EmployeKey alla quarta posizione nella stringa Path a sinistra, usando gli stessi dati di esempio dell'esempio Path().
EmployeeKey | ParentEmployeeKey | Sentiero | PathItem - 4° da sinistra |
---|---|---|---|
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 PATH() come il risultato della funzione, contando all'indietro da destra a sinistra.
Nella colonna di esempio seguente PathItemReverse - 3a da destra è definita come '= PATHITEMREVERSE([Path], 3)
'; In questo esempio viene restituita la proprietà EmployeKey alla terza posizione nella stringa Path a destra, usando gli stessi dati di esempio dell'esempio Path().
EmployeeKey | ParentEmployeeKey | Sentiero | PathItemReverse - 3° da destra |
---|---|---|---|
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
se il item
specificato esiste all'interno del path
specificato. Nella colonna di esempio seguente PathContains - employee 162 è definita come '= PATHCONTAINS([Path], "162")
'; Questo esempio restituisce TRUE
se il percorso specificato contiene il dipendente 162. Questo esempio usa i risultati dell'esempio Path() precedente.
EmployeeKey | ParentEmployeeKey | Sentiero | 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 |