Il Sankey chart è un grafico molto utile per visualizzare flussi e movimenti da una direzione all’altra. Può essere utilizzato ad esempio per mostrare gli andamenti dei flussi migratori, o anche i movimenti dei flussi finanziari.
In questo articolo andremo un pochino oltre il classico Sankey Chart e vedremo come realizzare in Tableau un Traceable Multi Level Sankey Chart: un Sankey, cioè, con più livelli (o direzioni) e in cui è possibile tracciare il flusso di un singolo oggetto.
Useremo il classico Sample Superstore, e vedremo come e dove si muovono le vendite dei prodotti attraverso il Segment, la Category e la Sub-category.
1° STEP: costruire il primo Sankey Chart
Innanzitutto occorre creare una copia dei nostri dati attraverso una Union. Trasciniamo quindi la tabella Orders nel panel e subito dopo la ritrasciniamo in Union con la prima. Questo ci occorre per generare il campo “Table Name”, che ci occorrerà poi nei nostri calcoli.
Iniziamo a creare i vari campi calcolati che ci serviranno.
- Campo calcolato “ToPad”, che assegna 1 alla tabella originale e 49 alla tabella copiata
- Creare i bin per il campo calcolato
Dal campo ToPad, con tasto destro – Create Bin, creiamo i nostri Bin che chiameremo Padding:
- Campo calcolato T, che ci permetterà di ottenere la visualizzazione dei valori dall’1 al 49. Questo campo è una default table calculation, ma ci occuperemo dopo del suo settaggio.
Per ora inseriamo nella vista il campo T in colonne, il campo Padding nei dettagli e impostiamo il pannello dei Marks su Circle.
Adesso cambiamo le impostazioni della table calculation, selezionando tasto destro su T – edit table calculation – compute using specific dimension – flag su Padding:
- Creiamo due campi calcolati uguali, Rank 1 e Rank 2, secondo la seguente formula, e che serviranno ad identificare il punto di inizio e di fine del Sankey Chart:
- Creiamo il campo calcolato per la Sigmoide
- Creiamo la curva, utilizzando i due precedenti calcoli del Rank:
Adesso aggiungiamo il campo Curve in righe, e Segment e Category in dettaglio.
Andiamo ora ad agire sulla table calc del campo Curve. Con click destro, entriamo nell’edit della table calculation:
Adesso andiamo a fissare gli assi, impostando -5/5 per l’asse X e 0-1 per l’asse y. Apparirà il seguente grafico:
Spostiamo il campo Padding nei dettagli e creiamo un altro campo calcolato per il sizing. Anche in questo caso bisognerà entrare nell’edit della table calc e flaggare Compute using Padding.
A questo punto, in due fogli separati, creiamo due stacked bar con Segment e Category come dimensioni e con Sum Sales come misura, impostano una table calc come % of Total.
Inseriamo la dimensione in Label e Dettagli, e aumentiamo al massimo il Size per non avere spazi bianchi in dashboard. Facciamo la stessa cosa con Category.
A questo punto il Sankey classico è pronto, va solo composto nella dashboard con i tre fogli di lavoro. Vediamo però come creare un nuovo livello e come tracciare il flusso di un oggetto.
2° STEP: costruire il secondo livello del Sankey Chart
Per nostra fortuna costruire il secondo livello del Sankey Chart, una volta faticato per il primo, è molto semplice. Ci basta infatti duplicare il primo foglio e tenere come due dimensioni Category e Sub-category. Sostituiamo quindi Segment con Subcategory nei dettagli, e andiamo a cambiare le computazioni della table calc di Curve aggiungendo questo nuovo campo:
Duplichiamo anche la stacked bar chart di Category e la sostituiamo con Sub-category:
A questo punto sono pronti anche gli elementi per il secondo livello del Sankey, vediamo l’utlimo passaggio per aggiungere il flusso del prodotto.
3° STEP: inseriamo il tracciamento del prodotto nel Sankey
Per prima cosa creiamo un parametro con i campi del Product Name:
Creiamo ora un campo calcolato che ci servirà per assegnare il colore al prodotto quando selezionato dal parametro:
Nei due fogli con i due sankey, inseriamo il campo calcolato nel colore e assegniamo i colori ai due valori.
A questo punto, non ci resta che confezionare tutto in dashboard, inserendo la prima stacked bar, il primo sankey, la seconda stacked bar, il secondo sankey e la terza stacked bar. Inseriamo anche il parametro nella dashboard così da poter selezionare i prodotti.
Infine, potremmo aggiungere un’azione di Highlight, che ci consente (in modalità hoover o select) di vedere il flusso per ogni dimensione (da segment a category e così via). Nel primo panel selezioniamo le 3 dimensioni e nel secondo i due sankey chart: