Costruire una Sankey Chart su Tableau

Questo articolo vuole essere una guida passo a passo su come realizzare una Sankey Chart su Tableau con qualsiasi dataset voi abbiate a disposizione.

La Sankey Chart è un grafico molto utile quando si vuole fare un’analisi su delle relazioni o flussi tra più elementi purché si presti molta attenzione a non porne troppi al suo interno per evitare di renderne difficile la leggibilità al nostro utilizzatore finale.

Nella Sankey Chart in esempio andremo ad analizzare un dataset sugli incidenti stradali nella capitale dell’Etiopia, Addis Ababa, focalizzandoci sul flusso di incidenti provocati in relazione a due variabili: gli anni di esperienza del conducente, variabile “Driving experience”, e la manovra che ha causato l’incidente, “Cause of accident”.

Andiamo ora a vedere tutti i passi necessari per realizzarla.

1°PASSO: Duplicare il dataset

Per prima cosa, una volta caricato il nostro dataset in Tableau, dobbiamo creare una copia dei nostri dati. Per farlo è necessario fare un unione del nostro dataset con se stesso. Trasciniamo il file di origine del dataset dal pannello di sinistra, nel caso dell’esempio ‘RoadTrafficAccidents.csv’, sotto il medesimo dataset già caricato in Tableau. Rilasciandolo poi quando appare la scritta “Union” come in figura. 

Questa unione è necessaria così che Tableau crei automaticamente la variabile “Table Name” che apparirà come variabile tra i nostri campi del dataset e che dovremo utilizzare poi nei passi successivi all’interno dei nostri campi calcolati.

2° PASSO: Creare campi calcolati

Per poter realizzare una Sankey Chart dobbiamo realizzare ora 7 Campi calcolati:

  1. Creare il campo cc_ToPad come in figura, che assegnerà il valore 1 ad una copia dei dati creati dall’unione, ed il numero 49 all’altra.

  1. Create un bin per il campo cc_ToPad.

Il nostro bin ci servirà per creare dei valori fittizi dal 2 al 48 per riempire la differenza tra i due valori creati con il campo ToPad, 1 e 49, che non hanno però nessun valore in mezzo.

Per farlo clicca con il tasto destro sul campo cc_ToPad, seleziona “Create” > “Bins…”. 

Chiamate il nostro bin Padding e selezionate come dimensione del bin “1”, in modo tale che aggiunga sempre il valore 1 dal valore minimo del campo cc_ToPad, 1, al nostro valore massimo, 49.

  1. Crea il campo cc_Marks che permetterà di ottenere la visualizzazione dei valori dall’1 al 49 rappresentanti i nostri dati nel dataset di riferimento.

Posizioniamo infatti ora il nostro campo calcolato cc_Marks in Colonne, il bins ‘Padding’ in Details e selezioniamo nel pannello di controllo l’opzione ‘Circle’. 

Si creerà a questo punto un asse da -6 a 6, creato dal nostro campo cc_Marks e apparirà un unico cerchio in -6. Cliccate con il tasto destro su cc_Marks, selezionate ‘Compute Using’ e ‘Padding’. Questo mostrerà 49 cerchi aggiungendo tutti i valori simulati dal nostro bin. 

  1. Creiamo ora due campi calcolati identici che, una volta applicati al grafico, diranno a Tableau dove devono iniziare e finire le linee della nostra Sankey Chart. Li chiameremo cc_Rank 1 e cc_Rank 2.  

  1. Dobbiamo quindi creare le curve ad S della nostra Sankey Chart. Queste curve sono chiamate curve Sigmoidi e per dire a Tableau come disegnarle nel grafico creiamo il campo calcolato cc_SigmoidCurve.

  1. Creiamo ora un campo calcolato, cc_Curve, con gli ultimi tre campi calcolati creati che servirà per disegnare definitivamente le curve del grafico: questa formula farà andare le curve della Sankey Chart dal punto di partenza (cc_Rank 1) al punto finale (cc_Rank 2) disegnando una curva sigmoide tra i due punti.

  1. Creiamo infine un ultimo campo calcolato, cc_Size, che ci servirà per definire lo spessore di ciascuna linea in base alla intensità del flusso o della relazione, nel caso in esempio, in base alla quantità di incidenti stradali provocati. 

3° PASSO: Costruiamo il grafico

Aggiungiamo ora cc_Curve in Righe. Si creeranno così due punti, uno all’estrema sinistra e uno all’estrema destra del grafico. 

Ora dobbiamo dire a Tableau come calcolare tutte le curve di cui abbiamo bisogno. Aggiungete quindi le variabili che volete usare nella vostra Sankey Chart in Details, nel caso in esempio i campi “Driving experience” e  “Cause of accident”. Cliccate con il tasto destro sul campo cc_Curve > ‘Edit Table Calculation’. Computate usando ‘Specific Dimensions’ e ordinantele esattamente come nelle seguenti figure: 

  • Nel cc_Rank 1 deve apparire per prima la variabile che sarà rappresentata alla sinistra del vostro Sankey Chart, per seconda quella che rappresenterà i valori a destra e infine in nostro bin, Padding.

Nel caso in esempio ho messo le variabili nel cc_Rank 1 nel seguente ordine: “Driving experience”,  “Cause of accident”, “Padding”.

  • Nel cc_Rank 2 dovrete scambiare le vostre variabili. 

Nel Rank 2 ho scambiato le prime due, mettendo rispettivamente: “Cause of accident”, “Driving experience”, “Padding”.

Dovrebbe comparirvi ora il grafico all’incirca come in figura.

Cambiate il Mark type come Linea e mettete ‘Padding’ nella sezione ‘Path’ nel Pannello di controllo. Spostate ora dal pannello di controllo le due variabili di interesse, nel caso in esempio “Driving experience” e “Cause of accident”, nella sezione ‘Color’ e aggiungiamo il nostro ultimo Campo calcolato cc_Size nella sezione ‘Size’. 

Le linee del vostro Sankey Chart sono state ora create e dovrebbero apparirvi, in base al vostro dataset, come in figura.

4°PASSO: Creare le barre laterali della Sankey Chart

Arrivati a questo punto creiamo due nuovi fogli di lavoro. In entrambi creiamo una Stacked Chart per ognuna delle nostre variabili, mettendo la variabile in analisi in ‘Color’ e la variabile numerica del nostro flusso, nel mio caso il conteggio del numero di incidenti, in Righe. Editiamo ora quest’ultima con il tasto destro > ‘Quick Table Calculation’ > ‘Percent of Total’. Cancelliamo l’asse delle ascisse e nel pannello di controllo mettiamo la ‘Size’ al massimo della sua grandezza. 

Stacked Bar Chart foglio “SX”

Stacked Bar Chart foglio “DX”

5°PASSO: Creare la visualizzazione finale del grafico

Come ultimo passo creiamo ora una Dashboard e ci mettiamo tutti e tre i fogli creati. 

Sankey Chart finale

Attribuisci maggiore leggibilità al tuo Sankey Chart

Per facilitare la leggibilità del grafico, vi consiglio inoltre di aggiungere un ultimo Passo finale. Potete aggiungere un Highlight che sottolinei la direzione che prende ciascuna linea quando si passa sopra i pannelli laterali del grafico con il puntatore del mouse. Per farlo nella barra del menù in alto di Tableau selezioniamo ‘Dashboard’ > ‘Actions’.

Seleziona ‘Add Action’ > ‘Highlight’.

Ponete ora come foglio di lavoro le due Stacked Barchart, nel mio esempio ‘SX’ quella di sinistra e ‘DX’ quella di destra; ‘Run acrion on’ > ‘Hover’ e selezionando come foglio di destinazione il grafico centrale “SUNKEY CHART”.

Cliccando su OK dovreste essere ora in grado di visualizzare un highlight dei soli elementi sulla quale viene passato il mouse.

Esempio della azione ‘Highlight’ del nostro grafico

Spero che questo articolo vi sia stato utile e che possa guidarvi nel più semplice dei modi nella creazione della vostra Stacked Chart con qualsiasi vostro dataset!

Home

articoli correlati

Nuove funzionalità PowerBI (Dec 2023)

In questo articolo vedremo alcune nuove impostazioni di formattazione per i nostri grafici a colonne e a barre, nonché per le etichette dei dati. Credo

New Button Slicer in Power BI

La nuova funzionalità aggiunta in Power BI rende il pannello dei filtri molto più dinamico e personalizzabile. Con il nuovo oggetto grafico si ha infatti

Selezioni Data Academy 2024

La prossima Data Academy by The Information Lab Italia inizierà a Febbraio 2024! Le selezioni stanno per iniziare!