Insights / Blog

Come creare un SunBurst Chart

Vi è mai capitato di “Girare” sul web in cerca di una visualizzazione da ricreare?

Vi siete più volte imbattuti in un grafico a barre con sviluppo circolare?  (eh?!?)

Probabilmente (se mi sono spiegato bene e se avete capito di cosa sto parlando), si tratta del SunBurst Chart.

In rete ho trovato solo “noiosissime” guide in inglese, ma per vostra fortuna ho deciso di scrivere questa breve Demo.

Dopo questa breve introduzione, procediamo nella costruzione del nostro SunBurst Chart.

Materiale

  • Scarica il dataset da qui;
  • Buona Volontà;
  • 10 min di tempo;
  • Visitate il mio profilo Tableau Public, per farvi un’idea del risultato finale.

Costruiamo Insieme la Dashboard

  • Step 1
    Avete scaricato il dataset? Si?!? Bene possiamo iniziare,
    Apriamo Tableau, e dal classico pannello di connessione, clicchiamo:
    To a File -> Excel -> Top 500 YouTube Games Channels.xlsx
  • Step 2
    Dal Pannello dei Data Source, importiamo il foglio chiamato “Sheet1”, su questo poi clicchiamo tasto detro -> Convert to Union, impostiamo ancora dentro la schermata lo Sheet1, in modo da “appendere” nel workbook due volte lo stesso file.
    Così facendo sono state create in automatico due nuovi campi: Sheet e Table Name.
    Questo perchè il SunBurst Chart non è altro che una sorta di Network Chart (leggete come creare un Network Chart!!! L’ho scritto sempre io), tra due punti e con punto di partenza sviluppato radialmente.Qui creiamo il nostro primo campo calcolato:

    Path Order:  //Creiamo il Path dal punto di partenza a quello di arrivo
    IF [Table Name]=”Sheet1″ THEN 1
    ELSE 0
    END
  • Step 3
    Analizzate brevemente il dataset prima di procedere in modo da capire i dati.
    Come potete osservare anche voi, ci ritroviamo con le seguenti Dimensioni e Misure:Per creare una Dashboard identica alla mia, procediamo creando un parametro, chiamato:

    Show as: //questo parametro non è fondamentale al SunBurst Chart

    Procediamo adesso creando i campi calcolati necessari: in primis i 4 campi calcolati, attraverso il quale mostro la misura  selezionata in parametro:

    _Calc Sb Score:
    //se il Path vale 1 printa il valore, se vale 0 printa 0
    [SB Score]*[Path Order]
    _Calc Subscribers:
    //se il Path vale 1 printa il valore, se vale 0 printa 0//
    [Subscribers]*[Path Order]
    _Calc Views:
    //se il Path vale 1 printa il valore, se vale 0 printa 0
    [Video Views]*[Path Order]
     Radial_Field:
    //mostra il valore scelto nel parametro
    IF [Show As:]=1 THEN [_Calc Sb Score]
    ELSEIF [Show As:]=2 THEN [_Calc Subscribers]
    ELSEIF [Show As:]=3 THEN [_Calc Views]
    END

    Fate attenzione adesso!!! Creiamo tutti i campi calcolati necessari al SunBurst Chart:

    Radial_Angle:
    //Creo la circonferenza sul quale andranno a “posarsi” le barre
    (INDEX()-1)*(1/WINDOW_COUNT(COUNT([Radial_Field])))*2*PI()
    Radial_Inner:
    //distanza della circonferenza interna dal Centro, voi potete inserire un altro valore
    0.05
    Radial_Outer:
    //distanza della circonferenza Esterna dal Centro, voi potete inserire un altro valore
    1
    Radial_Normalised_Length:
    //Normalizzo le lunghezze delle barre
    [Radial_Inner]+IIF(ATTR([Path Order])=0,0,SUM([Radial_Field])/WINDOW_MAX(SUM([Radial_Field]))*([Radial_Outer])-[Radial_Inner])

    Radial_X:
    //Creo asse x  in coordinata polare
    [Radial_Normalised_Length]*COS([Radial_Angle])
    Radial_Y:
    [Radial_Normalised_Length]*SIN([Radial_Angle])

    Con questo abbiamo inserito tutti i campi calcolati necessari al SunBurst Chart.

    Possiamo però scriverne ancora uno, che a vostra discrezione può tornare utile o meno:

    % by Field:
    //Mostra il valore in percentuale della misura scelta in parametro
    [Radial_Field]/{SUM([Radial_Field])}
  • Step 4
    Possiamo a questo punto creare il nostro SunBurst Chart:
    Basterà inserire in colonne e righe rispettivamente:
    – Radial_X
    – Radial YNel Pannello dei Marks, trasporto/seleziono:
    – dal menù a tendina del tipo di grafico, selezioniamo Line, in modo che compaia la casellina dei      “Path”;
    – Rating (in Color);
    -SUM(% by Field) (in Size);
    -User (in Label);
    -Path Order (nella “casellina” dei Path)
    -Devo creare infine un Combined Field, tra “Rating & User  (Combined)”; dal pannello delle dimensioni, seleziono con tasto sinistro e tenendo premuto CTRL la dimensione User e la dimensione Rating, clicco su una delle due con tasto destro -> Create -> Combined Field.
    (trasporto in Detail).
  • Step 5
    Fatte tutte le operazioni precedenti, vedrete che la View di Tableau, mostra 500 nulls. Non Preoccupatevi!!!
    Ci rimane da eseguire la stessa operazione su Radial_X e Radial_Y, ovvero clicco tasto destro sulle misure -> Compute Using -> Seleziono Rating User (Combined)Ancora su tutte e due le misure, eseguo: click con tasto destro -> Edit Table Calculation -> seleziono dal menù a tendina Radial_Normalised_Length -> Specific Dimensions -> seleziono Rating e User.
  • Step 6
    Essere soddisfatti di noi stessi perchè abbiamo creato il nostro primo SunBurst Chart, non ci resta che inserire in filter il Rating (group). Ovviamente potete “giocare” col pannello dei Marks e la Color Legend per personalizzare il vostro SunBurst Chart.

Adesso siete in grado di creare un SunBurst Chart a regola d’arte. Per non annoiarvi troppo ho deciso di dividere questo articolo in prima parte e seconda parte.

Nella seconda parte andrò a mostrare una serie di L.O.D. (Level of Detail), utilizzate per il grafico a barre e per la tabella “SunBurst View”. Per ottenere questa Viz.

Blog
cultura dei dati

Cultura dei dati: perché è così importante?

Innestare una cultura dei dati evoluta e permeata in tutto il tessuto aziendale accelera l’innovazione...

Blog
Manufacturing Analytics: cos’è e come impatta l’ottimizzazione dei costi

Manufacturing Analytics: cos’è e come impatta l’ottimizzazione dei costi

Il Manufacturing Analytics è l’ultima frontiera dell’evoluzione dell’industria manifatturiera, sempre spinta dalla necessità di rimanere...