Tableau

Come progettare workbook efficienti in Tableau (parte 3)

Dopo aver visto i principi di base sull’efficienza dei workbook in Tableau e le diverse tipologie di connessioni ai dati, in questa terza parte sull’efficienza dei workbook Tableau andremo a vedere come funzionano le query che restituiscono le visualizzazioni da noi create e come poter migliorare ancora le prestazioni dei workbook creati, indagando alcuni aspetti come l’uso delle join o data blending continuando con l’analisi dei filtri in Tableau.

Comprensione delle query

Se vogliamo andare a controllare la query che Tableau svolge, possiamo farlo nel percorso predefinito “C:\Utenti\<nomeutente>\Documenti\My Tableau Repository\Logs\log.txt” all’interno dei tag <QUERY> e </QUERY>.

Mentre i log all’interno di Tableau Server, si trovano al percorso “C:\ProgramData\Tableau\Tableau Server\data\tabsvc\vizqlserver\Logs”.

 

Performance recording

Tableau fornisce la funzione ‘Performance recording’ per analizzare le prestazioni del workbook e la velocità di risposta a ogni azione svolta dall’utente. La funzione si attiva dal menù Help -> Settings and Performance -> Start Performance Recording.

Una volta avviata la registrazione si può usare il workbook come farebbe normalmente un utente, quindi cliccando sulle visualizzazioni, filtrando i dati e interagendo all’interno della dashboard. In seguito va arrestata la registrazione dallo stesso menu da cui la si è fatta partire, e Tableau aprirà un workbook mostrando l’andamento delle prestazioni.

 

All’interno del risultato ottenuto dalla performance recording, Tableau fornisce una sezione in cui è possibile vedere nuovamente le query generate dalle viste incluse nelle dashboard realizzate.

 

Data Blending

Un altro aspetto importante che può incidere molto sulle prestazioni dei propri workbook è l’uso delle join oppure della tecnica del data blending. Il data blending (o fusione dei dati, in italiano) è un’alternativa alle join di più tabelle e spesso viene utilizzato quando i dati arrivano da più origini differenti tra loro (per esempio un foglio Excel e un database Oracle).

Il data blending è preferibile in particolare quando le dimensioni delle origini dati sono molto elevate, causando così un rallentamento nel caso di join tra più tabelle. Tuttavia, è raccomandabile non utilizzare il blending quando al tempo stesso si usano dimensioni con grandi quantità di valori unici (come per esempio ID ordine e ID cliente). Per approfondire quando è preferibile usare le join o il data blending, consigliamo la lettura di questo articolo.

 

Utilizzo dei filtri

I filtri sono tra le funzioni più utilizzate dagli utenti di Tableau ma possono causare grossi rallentamenti nelle prestazioni se vengono tralasciati e impostati nel modo scorretto.

 

Immaginiamo di voler filtrare soltanto alcune province italiane nella mappa qui sopra. Si può farlo in quattro modi diversi:

  • Selezionando le province di interesse e cliccando “Keep Only”
  • Selezionando tutte le altre province e cliccando “Exclude”
  • Filtrando per un’altra dimensione (come Area = “Nord Est”)
  • Filtrare per intervallo, per esempio per codice postale o latitudine/longitudine

 

Le prime due opzioni prevedono l’utilizzo di filtri discreti poco efficienti, in quanto i valori vengono espressi come “elenco discreto filtrato con una clausola WHERE complessa o una join con una tabella temporanea popolata con la selezione. Nel caso di set di indicatori molto ampi, la query potrebbe richiedere molto tempo” (qui il whitepaper di Tableau sul tema).

La terza opzione (Area = “Nord Est”) è molto più rapida perché la clausola WHERE generata è più semplice ed elaborata in modo efficiente dal database. Questa opzione potrebbe essere poco valida nel caso in cui la dimensione su cui si filtra ha molti membri (in questo caso, molte aree).

La quarta e ultima opzione (il filtro per intervalli, come Longitudine < 150) è l’opzione più veloce e preferibile in questo caso specifico.

 

Filtrare le date

I campi data vengono gestiti in modo diverso da tutti gli altri campi accettati da Tableau, soprattutto per le opzioni disponibili quando bisogna filtrare. Esistono tre tipi di filtri sulle date: relativi, per intervalli o discreti. Fra le tre tipologie, quella più efficiente è quella per intervalli (es. order_date < 01/01/2021 e order_date > 01/01/2020).

Filtri contestuali

I filtri a contesto (o contestuali, context filters in inglese) sono filtri indipendenti e che agiscono prima degli altri nell’ordine delle operazioni di Tableau, rendendo tutti gli altri filtri dipendenti da quelli a contesto.

I filtri a contesto scrivono i risultati del filtro “in una tabella temporanea che agisce da origine dati distinta per query e filtri successivi, garantendo prestazioni migliori per l’elaborazione delle viste”.

I filtri a contesto, grazie alla creazione di questa tabella temporanea, sono spesso utilizzati per migliorare le prestazioni dei workbook, a patto tuttavia che riducano le dimensioni del dataset e che questo filtro non venga modificato in continuazione dall’utente.

Filtri rapidi

I filtri rapidi possono essere impostati in tre modi: All values in database, All values in context, Only relevant values. Quest’ultima opzione è la più comune e sfruttata dagli utenti di Tableau, ma va sottolineato che aumenta il carico richiesto alle query in quanto riduce di ogni volta il dataset da analizzare in base agli altri filtri selezionati.

Mancano ancora due capitoli di questo whitepaper su come progettare workbook efficienti in Tableau: per non perderteli, continua a seguirci sul blog e sui nostri canali social LinkedIn, Facebook e Twitter!