Utilizzare le dimensioni
Quando si crea uno schema star si avranno tabelle delle dimensioni e dei fatti. Le tabelle dei fatti contengono informazioni su eventi quali gli ordini di vendita, le date di spedizione, i rivenditori e i fornitori. Le tabelle delle dimensioni archiviano i dettagli sulle entità aziendali, ad esempio prodotti o tempo, e sono connesse alle tabelle dei fatti tramite una relazione.
È possibile usare le gerarchie come singola origine per facilitare la ricerca di dettagli nelle tabelle delle dimensioni. Queste gerarchie si formano dalla naturale segmentazione dei dati. Può esistere ad esempio una gerarchia di date in cui è possibile segmentare le date in anni, mesi, settimane e giorni. Le gerarchie sono utili perché consentono di eseguire il drill-down nei dettagli dei dati anziché visualizzare solo i dati a livello più generale.
Gerarchie
Quando si creano oggetti visivi, Power BI immette automaticamente i valori di tipo data come una gerarchia (se la tabella non è stata contrassegnata come tabella di date).
Nella colonna Data precedente, la data viene mostrata in modo sempre più dettagliato da anno a trimestri, mesi e giorni. È anche possibile creare gerarchie manualmente.
Si consideri, ad esempio, una situazione in cui si vuole creare un grafico a barre in pila per il totale delle vendite per categoria e sottocategoria (Total Sales by Category and Subcategory). Per eseguire questa attività, è possibile creare una gerarchia nella tabella Product per le categorie e le sottocategorie. Per creare una gerarchia, passare al riquadro Campi in Power BI e quindi fare clic con il pulsante destro del mouse sulla colonna per la quale si vuole creare la gerarchia. Scegliere Nuova gerarchia, come illustrato nella figura seguente.
Trascinare quindi la colonna Subcategory nella nuova gerarchia creata. Questa colonna verrà aggiunta come sottolivello nella gerarchia.
A questo punto, è possibile creare l'oggetto visivo selezionando un grafico a barre in pila nel riquadro Visualizzazioni. Aggiungere Category Name Hierarchy nel campo Asse e Total Sales nel campo Valori.
È possibile eseguire il drill-down nell'oggetto visivo per visualizzare sia Category che Subcategory, a seconda di ciò che si vuole visualizzare. Le gerarchie consentono di visualizzare livelli sempre più dettagliati di dati in una singola visualizzazione.
Ora che sono state presentate le gerarchie, è possibile procedere ulteriormente ed esaminare le gerarchie padre-figlio e il relativo ruolo nelle relazioni multiple tra tabelle dei fatti e tabelle delle dimensioni.
Gerarchia padre-figlio
Nell'esempio seguente è disponibile una tabella Employee all'interno del database che include informazioni importanti sui dipendenti, i rispettivi manager e i relativi ID. Quando si esamina questa tabella, si noterà che il nome Roy F compare più volte nella colonna Manager. Come illustrato nell'immagine, più dipendenti possono avere lo stesso manager e ciò indica una gerarchia tra manager e dipendenti.
La colonna Manager determina la gerarchia ed è quindi l'elemento padre, mentre gli elementi figlio sono i dipendenti. Per questo esempio, si vuole essere in grado di visualizzare tutti i livelli di questa gerarchia. Power BI non visualizza per impostazione predefinita tutti i livelli della gerarchia, pertanto è responsabilità dell'utente assicurarsi di visualizzare tutti i livelli di questa gerarchia o "renderla flat" in modo da poter visualizzare i dati con una maggiore granularità.
Appiattire la gerarchia padre-figlio
Il processo di visualizzazione di più livelli figlio in base a un elemento padre di livello superiore è noto come rendere flatla gerarchia. In questo processo vengono create più colonne in una tabella per mostrare il percorso gerarchico dall'elemento padre all'elemento figlio nello stesso record. Si userà PATH(), una semplice funzione DAX che restituisce una versione testuale del percorso manageriale per ogni dipendente e PATHITEM() per separare questo percorso in ogni livello della gerarchia manageriale.
Importante
La libreria DAX non è ancora stata presentata, ma lo sarà in un altro modulo. Questa funzione è inclusa in questa sezione perché spiega le gerarchie. Se l'uso di questa capacità di DAX dà origine a confusione, fare riferimento al modulo DAX e quindi tornare a questa sezione in un secondo momento.
Nella tabella passare alla scheda Modellazione e selezionare Nuova colonna. Nella barra della formula risultante immettere la funzione seguente, che consente di creare il percorso testuale tra il dipendente e il responsabile. Questa azione crea una colonna calcolata in DAX.
Path = PATH(Employee[Employee ID], Employee[Manager ID])
Il percorso completo tra il dipendente e il manager viene visualizzato nella nuova colonna, come illustrato nello screenshot seguente.
Se si esamina Roger M, il percorso degli ID è 1010 | 1011 | 1013, che significa che a un livello superiore rispetto a Roger M (ID 1013) si trova il suo manager, Pam H (ID 1011), e a un livello superiore rispetto a Pam H si trova il suo manager Roy F (ID 1010). In questa riga Roger M si trova nella parte inferiore della gerarchia, al livello figlio, e Roy F si trova nella parte superiore della gerarchia, al livello padre. Questo percorso viene creato per ogni dipendente. Per rendere flat la gerarchia, è possibile separare ogni livello usando la funzione PATHITEM.
Per visualizzare separatamente tutti e tre i livelli della gerarchia, è possibile creare quattro colonne nello stesso modo usato in precedenza, immettendo le equazioni seguenti. Si userà la funzione PATHITEM per recuperare il valore che risiede nel livello corrispondente della gerarchia.
- Level 1 = PATHITEM(Employee[Path],1)
- Level 2 = PATHITEM(Employee[Path],2)
- Level 3 = PATHITEM(Employee[Path],3)
Al termine, si noterà che la tabella include ora ogni livello della gerarchia. Roy F si trova nella parte superiore della gerarchia e, man mano che si procede nei livelli 2 e 3, si noti che i manager e i dipendenti corrispondono.
A questo punto, è possibile creare una gerarchia nel riquadro Campi, come in precedenza. Fare clic con il pulsante destro del mouse su Livello 1, perché si tratta del primo livello di gerarchia e quindi selezionare Nuova gerarchia. Trascinare quindi il livello 2 e il livello 3 in questa gerarchia.
A questo punto la gerarchia è flat ed è possibile visualizzare i singoli livelli.
In precedenza, sono state prese in considerazione dimensioni con una sola relazione con una tabella dei fatti. Tuttavia, si verificano situazioni in cui la tabella delle dimensioni avrà più relazioni con una tabella dei fatti.
Dimensioni con ruoli multipli
Le dimensioni con ruoli multipli includono più relazioni valide con le tabelle dei fatti, vale a dire che la stessa dimensione può essere usata per filtrare più colonne o tabelle di dati. Di conseguenza, è possibile filtrare i dati in modo diverso a seconda delle informazioni che è necessario recuperare. Questo argomento è complesso, quindi viene introdotto solo in questa sezione. L'utilizzo delle dimensioni con ruoli multipli richiede funzioni DAX complesse che verranno discusse in sezioni successive.
L'oggetto visivo precedente mostra le tabelle Calendar, Sales e Order. Calendar è la tabella delle dimensioni, mentre Sales e Order sono tabelle dei fatti. La tabella delle dimensioni presenta due relazioni, una con Sales e una con Order. Questo esempio è costituito da una dimensione con ruoli multipli perché la tabella Calendar può essere usata per raggruppare i dati sia in Sales che in Order. Se si volesse creare un oggetto visivo in cui la tabella Calendar fa riferimento alle tabelle Order e Sales, la tabella Calendar fungerebbe da dimensione con ruoli multipli.