Informazioni sulle funzioni per le gerarchie padre-figlio in DAX
In DAX sono disponibili cinque funzioni che consentono agli utenti di gestire i dati presentati come gerarchia padre-figlio nei modelli. Grazie a queste funzioni un utente può ottenere l'intera derivazione di elementi padre di una riga, ovvero determinare quanti livelli ha la derivazione del primo elemento padre, qual è l'elemento padre n livelli sopra la riga corrente, qual è il discendente n dall'inizio della gerarchia di righe corrente e se un determinato elemento padre è un elemento padre nella gerarchia di righe corrente.
Funzioni padre-figlio in DAX
Nella tabella seguente è contenuta una gerarchia padre-figlio nelle colonne EmployeeKey e ParentEmployeeKey utilizzata 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 è possibile notare che per il dipendente 112 non sono definiti elementi padre, il dipendente 14 ha il dipendente 112 come responsabile (ParentEmployeeKey), il dipendente 3 ha il dipendente 14 come responsabile e i dipendenti 11, 13 e 162 hanno il dipendente 3 come responsabile. In base a ciò, è possibile stabilire che il dipendente 112 non ha responsabili a cui rispondere e che è il responsabile principale di tutti i dipendenti indicati qui. Inoltre, il dipendente 3 risponde al dipendente 14 e i dipendenti 11, 13, 162 rispondono al dipendente 3.
La tabella seguente illustra le funzioni disponibili, una breve descrizione della funzione e un esempio della funzione sugli stessi dati mostrati in precedenza.
Funzione PATH - Restituisce un testo delimitato con gli identificatori di tutti gli elementi padre della riga corrente, a partire dal meno recente o da quello superiore fino a quello corrente.
EmployeeKey | ParentEmployeeKey | Percorso |
---|---|---|
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 |
Funzione PATHLENGTH - Restituisce il numero di livelli in un determinato PATH(), a partire dal livello corrente fino al livello padre meno recente o a quello superiore. Nell'esempio seguente la colonna PathLength è definita come '= PATHLENGTH([Path])
'. L'esempio include tutti i dati dell'esempio Path() che consentono di comprendere il funzionamento di questa funzione.
EmployeeKey | ParentEmployeeKey | Percorso | 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 |
Funzione PATHITEM - Restituisce l'elemento nella posizione specificata da un risultato di tipo PATH(), contando da sinistra a destra. Nell'esempio seguente la colonna PathItem, la quarta da sinistra, è definita come '= PATHITEM([Path], 4)
'. Questo esempio restituisce l'elemento EmployeKey nella quarta posizione da sinistra della stringa Path, usando gli stessi dati di esempio dell'esempio Path().
EmployeeKey | ParentEmployeeKey | Percorso | PathItem, quarta 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 |
Funzione PATHITEMREVERSE - Restituisce l'elemento in position dal risultato di una funzione di tipo PATH(), contando da destra a sinistra.
Nell'esempio seguente la colonna PathItemReverse, la terza da destra, è definita come '= PATHITEMREVERSE([Path], 3)
'. Questo esempio restituisce l'elemento EmployeKey nella terza posizione da destra nella stringa Path, usando gli stessi dati di esempio dell'esempio Path().
EmployeeKey | ParentEmployeeKey | Percorso | PathItemReverse, terza 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 |
Funzione PATHCONTAINS - Restituisce TRUE se l'elemento item specificato è presente nel path specificato. Nell'esempio seguente la colonna PathContains, con il dipendente 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 | Percorso | 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 |