Condividi tramite


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 TRUEif il item specificato esiste all'interno del pathspecificato. Nella colonna di esempio seguente PathContains - employee 162 è definito come '= PATHCONTAINS([Path], "162")'; in questo esempio viene restituito TRUEif 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