Come costruire una Radial Bar Chart in Tableau

La rappresentazione di dati su di una “Radial Bar Chart” spesso rappresenta un’alternativa interessante rispetto alla classica “Line Chart”, specialmente nel caso in cui non si abbia molto spazio a disposizione nella direzione orizzontale della dashboard. 

In questo articolo si ripercorrono gli steps fondamentali per costruire una Radial Bar Chart con Tableau, a partire dalla base dati “Pokemon with stats” reperibile sul sito web di “data.world” al seguente link: https://data.world/data-society/pokemon-with-stats (N.B. Gli stessi steps possono essere eseguiti per costruire il grafico con “Sample-Superstore.xls”).

STEP 1: Una volta fatto il download del file “Pokemon with stats’’, si prepara la base dati con un ‘unpivot’ sulle colonne che riportano i punteggi per ciascuna categoria (‘defense’, ‘sp_defense’, ‘attack’, ‘sp_attack’, ‘hp’, ‘speed’). Eliminando alcune colonne superflue rispetto a quelle di interesse, a partire dalla tabella in Fig.1 si arriva ad avere una base dati come quella in Fig. 2 (nel caso in cui si volesse usare Sample-Superstore.xls, il file è già pronto al download).

Fig.1
Fig.2

Di seguito si costruisce un nuovo file contenente una sola colonna (qui nominata ‘PATH’), nella quale vengono inseriti due valori. Questi valori indicano il punto di partenza e il punto massimo di arrivo, espressi in gradi, dell’ampiezza delle porzioni di circonferenza. Se si vuole che le nostre porzioni non vadano oltre i 270 gradi (o tre quarti di giro), allora i valori scelti saranno 0-270.

Fig.3

A questo punto su Tableau si fa una join tra le tabelle  “Pokemon with stats” e “PATH”. Per farlo si crea una “calculated join”, scrivendo ‘1’ nel campo calcolato riferito sia alla tabella di sinistra che a quella di destra.

Fig. 4
Fig. 5

Facendo questa operazione, viene aggiunta una colonna nominata ‘Path’ alla tabella iniziale, nella quale ogni riga viene duplicata rispetto ai valori 0 e 270.

STEP 2: Ci si sposta adesso sulla worksheet. In corrispondenza della measure ‘Path’ elencata nel pannello ‘Data’, si clicca con il tasto destro del mouse per aprire il menù a tendina. Andando su ‘create’, si sceglie ‘Bins’.

Fig. 6

Dopo aver cliccato su ‘Bins’, si apre una finestra dove si può scegliere la size del bin, che viene impostata a ‘1’.

Fig. 7

Dando l’ok, una nuova dimensione viene creata ed aggiunta al pannello ‘Data’.

STEP 3: Si crea un campo calcolato (‘cc_index’) contenente la funzione INDEX(), che sarà necessaria per la costruzione dei punti X e Y delle porzioni di circonferenza. Poiché si vuole che il conteggio dell’indice parta da zero, allora si scrive ‘INDEX()-1’.

Fig. 8

STEP 4: Si creano due nuovi campi calcolati nei quali si iniziano a definire i valori per le coordinate X (‘cc_X_points’) e Y (‘cc_Y_points’) del grafico.

In particolare per le coordinate X si usa una funzione di tipo ‘COS()’, mentre per le coordinate Y si usa ‘SIN()’.

Gli argomenti delle funzioni COS() e SIN() per adesso sono rappresentati dal campo calcolato ‘cc_Index’, che deve essere espresso in radianti. 

Fig. 9
Fig. 10

STEP 5: Si porta il campo ‘cc_X_points’ sulla shelf in corrispondenza di ‘Rows’, il campo ‘cc_Y_points’ in corrispondenza di ‘Columns’, e si trascina ‘Path(bin)’ sulla ‘Marks’ shelf in ‘Detail’.

Fig. 11

STEP 6: In corrispondenza del campo ‘cc_X_points’ in Rows si clicca con il tasto destro e si sceglie l’opzione ‘Compute using’ → ‘Path(bin)’. La stessa cosa si fa per ‘cc_Y_points’ in columns.

Fig. 12

Si arriva ad avere un grafico come quello riportato nella figura sottostante.

Fig. 13

STEP 7: Si trascina il campo ‘Properties’ su ‘Colour’ nella ‘Marks’ shelf e poi si cambia il tipo di mark in ‘circle’.

Fig. 14

STEP 8: Si procede creando un nuovo campo calcolato, nel quale si inserisce la formula WINDOW_MAX(MAX(Points)), che servirà per calcolare il massimo dei punti assegnati per ciascuna categoria in Properties.

Fig. 15

STEP 9: Si crea un altro campo calcolato usando la funzione RANK_UNIQUE() inserendo come argomento il ‘cc_Max_Points’ creato in precedenza, con opzione ‘ascending’.

Fig. 16

STEP 10: Si aggiornano le formule nei campi calcolati ‘cc_X_points’ e ‘cc_Y_points’, che vengono entrambe moltiplicate per il ‘cc_Rank’ creato sopra. Questo permetterà di avere tante circonferenze concentriche, quante sono le diverse categorie in ‘Properties’.

Fig. 17

Dopo aver aggiornato entrambi i campi calcolati per le coordinate X e Y, il grafico apparirà come di seguito.

Fig. 18

STEP 11: Cliccando con il tasto destro del mouse sul campo cc_X_points in Rows si apre un menù a tendina dal quale si clicca poi sull’opzione ‘Edit Table Calculation’.

Da qui si apre una finestra per editare il tipo di table calculation per cc_X_points. Nel campo ‘Nested Calculation’ si sceglie ‘cc_Rank’. In ‘Compute Using’ si sceglie ‘Specific Dimensions’ e si abilita il campo ‘Properties’.

Fig. 19

Lo stesso procedimento si fa anche per cc_Y_points. Si ottiene quindi un grafico come quello riportato di seguito.

Fig. 20

STEP 12: Dopo aver fatto un primo editing delle table calculations per cc_X_points e cc_Y_points, si procede a farne un secondo dove questa volta nel campo ‘Nested Calculation’ si sceglie ‘cc_Max_points’, mentre in Specific Dimension si sceglie ‘Path’.

Dopo aver compiuto questa operazione per entrambi i campi cc_X_points e cc_Y_points, il grafico appare come di seguito.

Fig. 21

STEP 13: Le porzioni di circonferenza ottenute fin qui raggiungono tutte l’ampiezza massima di 270 gradi. Per fare in modo che la lunghezza di ciascuna sia proporzionale rispetto alla misura che si vuole analizzare, in questo caso ‘Points’, si devono creare due nuovi campi calcolati. Nel primo calcolo si usa una formula analoga a quella introdotta in ‘cc_Max_Points’, ma si cambia il nome del campo calcolato. In questo caso è stato chiamato ‘cc_Max_Points_All_Properties’.

Fig. 22

Nel secondo campo calcolato si fa il rapporto tra ‘cc_Max_Points’ e ‘cc_max_Points_All_Properties’. Questo calcolo darà come risultato una percentuale che verrà poi usata per aggiornare i campi ‘cc_X_points’ e ‘cc_Y_points’ e così proporzionare la lunghezza delle circonferenze in base al valore percentuale.

Fig. 23

STEP 14: Adesso si possono finalizzare le formule nei campi ‘cc_X_points’ e ‘cc_Y_points’ nella loro forma definitiva. In particolare, si moltiplica l’argomento dentro alle funzioni COS() e SIN(), rispettivamente, per ‘cc_Percentage’.

Fig. 24

Dopo questo aggiornamento il grafico si modificherà come di seguito.

Fig. 25

STEP 15: Tornando sul campo cc_X_points in Rows, si clicca con il tasto destro del mouse e si sceglie l’opzione ‘Edit table calculation’. Una volta che si apre la finestra di editing, nel campo ‘Nested Calculation’ si sceglie ‘cc_Max_Points_All_Properties’, mentre in ‘Specific Dimensions’ si selezionano sia ‘Path (bin)’ che ‘Properties’. 

Fig. 26

La stessa operazione si ripete per il campo cc_Y_Points. A questo punto le porzioni di circonferenza non hanno più tutte la stessa lunghezza. La radial bar chart ha assunto la sua forma definitiva.

STEP 16: Una volta ottenuta la radial bar chart, si possono fare delle formattazioni per migliorarne il look. In questo caso, si è deciso di cambiare il mark type del grafico, passando da ‘circle’ a ‘line’. 

Fig. 27

Per fare in modo che le linee seguano il path corretto, si va sulla shelf Marks e si trascina il campo Path(bin) da Detail a Path.

Fig. 28

Trascinando i campi ‘cc_max_points’ e ‘Properties’ dal pannello ‘Data’ sul campo ‘Label’ nella Marks shelf, si aggiungono delle etichette che riportano i nomi di ciascuna ‘Properties’ e i rispettivi valori dei ‘Points’. Giocando con la formattazione per le grid lines, il colore e lo sfondo della worksheet, si può poi adattare il grafico a proprio piacimento. 

In questo caso si è aggiunto anche un filtro sul campo ‘Name’, al fine di visualizzare i dati relativi ad un particolare Pokemon.

Fig. 29

articoli correlati

Introduzione alle funzioni DAX in PowerBi

Utilizzando Powerbi è molto semplice capire come utilizzare i valori quantitativi presenti nel nostro dataset. Ad esempio, per creare un grafico che mostri il totale

Tooltip in PowerBI

Tooltip Il termine tooltip nasce dall’unione delle parole ‘tool’, strumento, e ‘tip’,  suggerimento. Il tooltip, letteralmente “consiglio su uno strumento”, nell’ambito della data visualization è

Introduzione ai Custom Visual su PowerBI

Quando si parla di data analisi, le visualizzazioni sono la nostra arma principale per trasmettere concetti e trarre conclusioni.Le visualizzazioni efficaci sono definite da elementi

Filtri in Power BI

I filtri sono tra le funzionalità più utilizzate per dettagliare e personalizzare un’analisi. L’importanza dei filtri in una visualizzazione si può ricondurre alle specifiche esigenze