Le date sono elementi temporali spesso presenti in molte fonti dati ed è utile saperle manipolare in Tableau Desktop per sfruttare al meglio le informazioni che queste racchiudono.
Perché è importante che Tableau riconosca i campi data?
Una volta connessi alla fonte dati, è utile controllare che Tableau riconosca i campi data correttamente. La verifica può avvenire nella data source page, tramite la tabella che illustra l’anteprima dei dati, o direttamente nel data pane di un qualsiasi worksheet. In caso del corretto riconoscimento del campo, un’icona a forma di calendario contrassegnerà il medesimo.
Questa verifica è importante perché, quando usiamo i campi data in una visualizzazione, questi presentano funzionalità speciali, in particolare: drill-down automatico delle gerarchie di date, opzioni filtro e di formattazione specifiche.
Il drill-down automatico permette di passare facilmente da un livello di aggregazione ad un altro, mostrando diversi livelli di dettaglio.
Le opzioni filtro e di formattazione offrono diverse opzioni di azione specifica, a seconda che il campo data sia trattato come discreto o continuo. Nel primo caso, ogni unità temporale è considerata un’unita a sé e, quindi, anche il filtro che Tableau offre è simile a quello che si applica ai campi discreti. Invece, nel secondo caso, l’unità temporale è considerata in modo ordinato in funzione di quelle precedenti e successive, quindi, il filtro proposto, è simile a quello che si applica ai campi continui.
Cosa fare quando Tableau NON riconosce correttamente i campi data?
Nel caso in cui Tableau non riconosca i campi o li codifichi come stringhe, è possibile intervenire in 3 modi principali.
- Cambiare il date format dal data pane
Un metodo facile e veloce per cambiare il formato del campo.
- DATEPARSE function
Questa funzione permette di specificare quali parti del campo di partenza corrispondono alle unità temporali (anno, mese, giorno, ecc) del nuovo campo data. In questo modo, il formato della data viene specificato dall’utente, così che Tableau possa interpretare correttamente le componenti parti del campo di partenza. Vediamo come funziona.
Supponiamo di avere un campo string come questo e di volerlo convertire in campo data.
Grazie alla funzione DATEPARSE, è possibile creare un nuovo campo calcolato codificato come campo data, nel quale specificare quale parte della stringa corrisponde a una diversa parte della data.
Nota bene: Il formato del campo calcolato deve includere tutti gli spazi, i trattini e altri simboli affinchè Tableau possa interpretare la stringa in modo corretto
- DATE function
Questa funzione crea un nuovo campo calcolato che converte una stringa o un’espressione data in un tipo di data. Per leggere correttamente i valori di partenza, Tableau deve essere in grado di interpretare i componenti della stringa in parti data e utilizza le impostazioni locali del computer per determinare il formato predefinito della data. Vediamo come funziona nell’esempio seguente.
Supponiamo di avere un campo string come questo e volerlo convertire in date field.
Grazie alla funzione DATE e alla concatenazione dei comandi RIGHT, MID, LEFT è possibile generare un nuovo campo calcolato (New Date) codificato come campo data, nel quale sono specificate le diverse parti del nuovo date field.
In quali altri modi si possono trattare le date?
Una volta accertati che Tableau riconosca correttamente i campi data, è possibile manipolarli all’interno dei campi calcolati tramite funzioni specifiche. Quando si crea un campo calcolato relativo a un campo data, Tableau suggerisce le principali funzioni che si possono usare, riassunte di seguito.
| Funzione | Formula | Esempio |
DATEADD | Aggiunge un numero dato di unità temporali (mesi, giorni, ecc) alla data di inizio | DATEADD (date_part, interval, date) | DATEADD(‘day’, 6, #23-11-2021#) = #29/11/2021# + 6 giorni alla data di riferimento |
DATEDIFF | Restituisce il numero di unità temporali specificato (mesi, giorni, ecc) tra due date | DATEDIFF (date_part, date1, date2) | DATEDIFF (‘month’, #01/10/2021#, #23-11-2021#) = 1 Differenza in mesi tra 2 date |
DATENAME | Restituisce il nome in stringa del datepart specificato | DATENAME (date_part, date) | DATENAME (‘month’, #01/10/2021#) = “October” Nome del mese della data |
DATEPART | Restituisce il valore intero del Date part specificato come numero intero | DATEPART (date_part, date) | DATEPART (‘year’, #01/10/2021#) = 10 Mese del mese della data |
DAY | Restituisce il giorno della data indicata come numero intero | DAY(date) | DAY (#18/08/2021#) = 18 |
WEEK | Restituisce la settimana della data indicata come numero intero | WEEK(date) | WEEK(#18/08/2021#) = 35 |
MONTH | Restituisce il mese della data indicata come numero intero | MONTH (date) | MONTH (#18/08/2021#) = 8 |
YEAR | Restituisce l’anno della data indicata come numero intero | YEAR (date) | YEAR (#18/08/2021#) = 2021 |
DATETRUNC | La funzione tronca la data al Date part specificato | DATETRUNC (date_part, date) | DATETRUNC (‘quarter’, #18/08/2021#) = #01/07/2021# data troncata al trimestre |
MAKEDATE | Restituisce un valore di data costruito a partire da anno, mese e data specificati. Richiede input numerici | MAKEDATE (year, month, day) | MAKEDATE (2021,07,20) = #20/07/2021# |
MAKETIME | Restituisce un valore di data costruito a partire da ore, minuti e secondi specificati | MAKETIME(hour, minute, second) | MAKETIME(14, 52, 40) = #1/1/1899 14:52:40# |
NOW | Restituisce la data e l’ora correnti del sistema locale | NOW() – non accetta un argomento | NOW() = 1986-03-25 1:08:21 PM |
TODAY | Restituisce la data corrente del sistema locale | TODAY() | TODAY() = 1986-03-25 |
Se ti sei perso i nostri articoli precedenti, puoi recuperarli sul nostro blog e continuare a seguirci sui nostri canali social LinkedIn, Facebook e Twitter!