Pagina 1 di 1

Gerarchia in Power Pivot (o query)

Inviato: mar 17 ago 2021, 18:19
da Fabripol
Salve a tutti , spero stiate tutti bene ....e siate riposati!

Ho una semplice tabella che riporta su due colonne una struttura padre figlio riferita a codici di unità
organizzative.
Stavo cercando di ottenere tramite Power Pivot una struttura come quella riportata nel risultato atteso del file che vi allego.
Mi sembrava semplice usare la funzione PATH del DAX , ma nella sua semplicità non ho capito se la tabella deve essere organizzata in altro modo.
e non riesco ad andare oltre il primo livello.... :|

Vi ringrazio fin da subito per qualche consiglio... e magari anche bacchettata :) :)

Fabrizio

Gerarchia in Power Pivot (o query)

Inviato: mer 18 ago 2021, 0:01
da Andrea90
Ciao Fabripol,

Se vuoi un risultato simile a questo:

Immagine

Allora in PowerBI puoi utilizzare queste formule:

Codice: Seleziona tutto

FullPath = PATH( Tabella1[Key], Tabella1[Parent  Key] )

Codice: Seleziona tutto

Level1 = LOOKUPVALUE( Tabella1[Name], Tabella1[Key], PATHITEM( Tabella1[FullPath], 1, INTEGER))

Codice: Seleziona tutto

Level2 = IF( PATHLENGTH( Tabella1[FullPath] ) >= 2, LOOKUPVALUE( Tabella1[Name], Tabella1[Key], PATHITEM( Tabella1[FullPath], 2, INTEGER)), Tabella1[Level1] )

Codice: Seleziona tutto

Level3 = IF( PATHLENGTH( Tabella1[FullPath] ) >= 3, LOOKUPVALUE( Tabella1[Name], Tabella1[Key], PATHITEM( Tabella1[FullPath], 3, INTEGER)), Tabella1[Level2] )
e poi prosegui così per tutti i livelli che ti servono, andando di volta in volta a cambiare i riferimenti numerici (guarda le differenze esistenti tra il Livello2 e Livello3).

Andrea

Gerarchia in Power Pivot (o query)

Inviato: mer 18 ago 2021, 11:55
da Fabripol
Grazie Andrea sei stato illuminante, dovevo creare delle colonne calcolate non una misura.

Mi rimane un dubbio sulla colonna Parent Key, non va bene usare subito la funzione PATH?
E la funzione LOOKUPVALUE ?
Se volessi aggiungere una descrizione per i codici utilizzati, dovrei duplicarla nei livelli?

Grazie Mille Andrea

Gerarchia in Power Pivot (o query)

Inviato: mer 18 ago 2021, 12:07
da Andrea90
Ciao Fabripol,

La colonna ParentKey identifica la chiave univoca a cui fa riferimento il "padre" nella relazione padre-figlio. Ed è dunque fondamentale per riuscire ad utilizzare la formula PATH.

Anche PATH è fondamentale perché è in grado di creare la struttura gerarchica sotto forma di livelli.

Ogni livello poi deve essere esplicitato e dunque calcolato a parte come puoi vedere io ho preso solo i primi 4.

La funzione LOOKUPVALUE è il cerca.vert di DAX, per vederne la sintassi ti consiglio queste pagine:

https://dax.guide/lookupvalue/
https://docs.microsoft.com/it-it/dax/lo ... nction-dax

Andrea

Gerarchia in Power Pivot (o query)

Inviato: mer 18 ago 2021, 18:30
da Fabripol
Ok Andrea ....
ma in pratica come hai ottenuto i valori nella colonna Parentkey,
capisco che non è altro che il riferimento alla colonna key del padre... giusto?
Per quale motivo è più conveniente fare PATH tra Key e ParentKey invece che direttamente tra padre e figlio!

Comunque tutto molto molto interessante

ho trovato molto interessante anche
https://www.daxpatterns.com/parent-chil ... xcel-2013/

Grazie
Fabrizio

Gerarchia in Power Pivot (o query)

Inviato: mer 18 ago 2021, 18:55
da Andrea90
Il Key altro non è che un numero progressivo, mentre il ParentKey l’ho ottenuto con un semplice cerca.vert

Di norma si utilizza questa struttura per impostare il file basato sulle gerarchie.

Andrea