Sappiamo già che Tableau è in grado di trovare e interpretare da solo le date scritte nei formati standard più comuni. Ma se le date sono incomplete o non sono formati standard?
È possibile, ad esempio, far capire a Tableau che una stringa di testo che riporta una data nel formato
“Creato il 15-luglio, 2016 alle 09:00”
in realtà è una colonna data/ora? Ovviamente sì. Anche se non è un formato standard e anche se al suo interno oltre alla data riporta anche dei testi.
Come? Con la funzione DATEPARSE.
DATEPARSE(“Format”, [String])
La funzione è composta da due elementi:
- il formato, che deve essere messo tra virgolette
- l’indicazione della colonna che contiene le stringhe di testo che vogliamo convertire in data.
Quello che dobbiamo fare è riscrivere la stringa di testo (riproducendo anche spazi, segni di interpunzione e qualsiasi altra cosa sia contenuta) utilizzando i parametri data per indicare a Tableau dove c’è un elemento che fa parte della data.
Creato il 15–luglio, 2016 alle 09:00
Creato il dd–MMMM, yyyy alle H:m
dd –> è il giorno formato da 2 cifre, quindi con lo zero davanti per i giorni da 1 a 9
MMMM –> è il mese in lettere scritto per intero
yyyy –> è l’anno a quattro cifre
H –> è l’ora a 2 cifre, quindi con lo zero davanti per le ore da 0 a 9
m –> sono i minuti
Se avessimo avuto la data “15-lug”, avremmo dovuto utilizzare il parametro “MMM” che corrisponde al mese abbreviato in lettere. Se avessimo avuto l’anno a due cfire “16” avremmo dovuto usare il parametro “yy”. Potete trovare un elenco completo dei parametri a questa pagina.
Considerato che la stringa di testo del nostro esempio comprende anche dei testi, oltre agli elementi della data, dovremo anche mettere tra virgolette i pezzi di testo. C’è però un problema: le virgolette doppie già le utilizziamo per racchiudere l’intero elemento “Format” della formula. Dovremo utilizzare delle virgolette alternative (l’apostrofo), perché non è ammesso l’uso delle doppie virgolette.
“‘Creato il ‘dd-MMM, yyyy‘ alle ‘H:m”
Cosa molto importante da ricordare: il “format” che specifichiamo noi nella formula è il formato in cui è la data/stringa (e che dobbiamo descrivere con i parametri perché Tableau riesca a convertirla in data). Il formato in cui ci viene proposta la data convertita è il formato standard che deriva dalla Locale, quindi se siamo in Italia, sarà il formato italiano. Se poi vogliamo modificare questo formato, ci basterà farlo dal menù “Format”.
E la stessa cosa vale per qualsiasi altro tipo di stringa. Potremo avere ad esempio una colonna che riporta solo l’anno:
Oppure una colonna che riporta solo il mese e l’anno:
Ovviamente Tableau non può inventarsi dei dati che non esistono, per cui assegnerà il valore 1 a tutti i dati mancanti della data, 0 a tutti i dati mancanti dell’ora. Vale a dire che nel primo esempio in cui avevamo solo l’anno in formato “yyyy” a quattro cifre, il giorno e il mese verranno sostituiti con 01 e 01, e la data risulterà essere il 1 gennaio 2016 alle 00:00:00. Nel secondo esempio, in cui avevamo il mese e l’anno, il giorno viene sostituito con 01 e la data risulterà essere il 1 luglio 2016 alle 00:00:00.
Ma d’altronde, se abbiamo delle date in quel formato, è molto probabile che ci interessino delle analisi aggregate al livello anno o mese/anno, quindi il fatto che Tableau riempia con dati fittizi le parti mancanti, non dovrebbe costituire un problema.