Gerarchia in Power Pivot (o query) L’argomento è risolto

Non è propriamente un programma di BI, ma nelle sue versioni più recenti anche Excel può fare grandi cose!

Moderatore: Utilizzo_prof_Excel

Rispondi

Fabripol
Messaggi: 22 | Topic creati
Iscritto il: mar 28 lug 2020, 21:02

Gerarchia in Power Pivot (o query)

Messaggio 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
Allegati
Gerarchia padre figlio.xlsx
(130.87 KiB) Scaricato 23 volte


Avatar utente

Andrea90
Messaggi: 2191 | Topic creati
Iscritto il: dom 28 giu 2020, 19:41
Luogo: Bologna
Ringraziato: 666 volte
Contatta:

Gerarchia in Power Pivot (o query)

Messaggio 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
Se hai gradito l'aiuto che hai ricevuto considera di contribuire alle spese per il mantenimento del forum facendo una libera DONAZIONE --> Link

Ricordarsi di segnare come "RISOLTE" le discussioni per le quali si è ricevuto un feedback positivo. Per vedere come fare --> Link

Autore del topic
Fabripol
Messaggi: 22 | Topic creati
Iscritto il: mar 28 lug 2020, 21:02

Gerarchia in Power Pivot (o query)

Messaggio 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
Avatar utente

Andrea90
Messaggi: 2191 | Topic creati
Iscritto il: dom 28 giu 2020, 19:41
Luogo: Bologna
Ringraziato: 666 volte
Contatta:

Gerarchia in Power Pivot (o query)

Messaggio 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
Se hai gradito l'aiuto che hai ricevuto considera di contribuire alle spese per il mantenimento del forum facendo una libera DONAZIONE --> Link

Ricordarsi di segnare come "RISOLTE" le discussioni per le quali si è ricevuto un feedback positivo. Per vedere come fare --> Link

Autore del topic
Fabripol
Messaggi: 22 | Topic creati
Iscritto il: mar 28 lug 2020, 21:02

Gerarchia in Power Pivot (o query)

Messaggio 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
Avatar utente

Andrea90
Messaggi: 2191 | Topic creati
Iscritto il: dom 28 giu 2020, 19:41
Luogo: Bologna
Ringraziato: 666 volte
Contatta:

Gerarchia in Power Pivot (o query)

Messaggio 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
Se hai gradito l'aiuto che hai ricevuto considera di contribuire alle spese per il mantenimento del forum facendo una libera DONAZIONE --> Link

Ricordarsi di segnare come "RISOLTE" le discussioni per le quali si è ricevuto un feedback positivo. Per vedere come fare --> Link
Rispondi