Tableau fornisce una grande varietà di funzioni da utilizzare con i campi di tipo data. Prima di addentrarci in ognuna di queste funzioni, alcuni piccoli consigli di partenza. Prima di tutto le parti utilizzabili nella sintassi e i loro valori
date_part | Valori |
---|---|
‘year’ | Valore infinito, purchè di 4 cifre |
‘quarter’ | 1-4 |
‘month’ | 1-12 o il mese scritto ma in inglese, January, February |
‘dayofyear’ | Giorno dell’anno in forma continua. Il 1 Gennaio sarà 1 e quindi il 1 Febbraio sarà il 32 |
‘day’ | 1-31 |
‘weekday’ | 1-7 o anche in questo caso il giorno scritto in inglese, Monday, Tuesday |
‘week’ | 1-52 |
‘hour’ | 0-23 |
‘minute’ | 0-59 |
‘second’ | 0-60 |
Attenzione: Queste funzioni non prendono in considerazione l’inizio dell’anno fiscale. Per impostare l’anno fiscale, fare click con il tasto destro sul campo data che vi interessa, e cliccare su Date properties. Dopodiché scegliere il mese che preferite.
Ora vediamo ogni funzione. Nota importante, se non ricordate alla perfezione una qualsiasi delle sintassi, non preoccupatevi. Un piccolo esempio è riportato sempre a fianco della vostra area del campo calcolato, come vedete qua sotto
Nella finestra che si apre potete scegliere Date dal menu a tendina e cliccando su una delle funzioni sotto per avere un riassunto di cosa fa quella funzione, la sintassi e un esempio. Niente panico quindi, Tableau vi corre in soccorso.
DATEADD (date_part, interval, date)
Restituisce una data a cui è stato sommato l’intervallo di giorni specificato nella funzione
Esempio:
DATEADD(‘month’, 3, #2016-04-15#) = 2016-07-15 12:00:00 AM
Aggiungiamo 3 mesi alla data 2016-04-15. Da Aprile ci ritroviamo a Luglio.
DATEDIFF (date_part, date1, date2, [start_of_week])
Restituisce la differenza tra due date (date1 e date2) nell’unità specificata (giorni, mesi, ore, etc..)
Start of week è tra quadre perchè è opzionale. Se omesso viene determinato in base al data source.
Esempio:
DATEDIFF('day', #2013-09-11#, #2013-09-24#)= 13
Giorni di differenza tra le due date sono 13.
DATENAME(date_part,date,[start_of_week])
Restituisce la parte di una data specificata come campo stringa. Anche qui, start of week è opzionale.
Esempio:
DATENAME(‘year’, #2016-02-15#) = “20016”
DATENAME(‘month’, #2016-06-11#) = “June”
DATEPARSE(format, string)
Converte una stringa in un formato data specifico. Gli elementi che non volete essere convertiti, devono essere compresi tra singolo apice (‘ ‘). Il campo richiesto deve essere una stringa non un valore. La funzione restituisce NULL se i dati non corrispondono al formato.
La funzione è disponibile anche per file non di tipo legacy di Microsoft Excel, e file di testo, MySql, PostgreSQL e Tableau Extract.
Esempio:
DATEPARSE ("dd.MMMM.yyyy", "15.April.2016") = #April 15, 2016#
DATEPARSE ("h'h' m'm' s's'", "10h 5m 3s") = #10:05:03#
DATEPART(date_part, date,[start_of_week])
Restituisce la parte della data come un intero, il contrario di DATENAME.
Nota: start of week è opzionale ma se lo avete inserito e come date_part avete scelto weekday, verrà ignorato. Questo perchè Tableau si basa su un ordine rigido per l’inizio della settimana.
Esempio:
DATEPART('year', #2016-04-15#) = 2016
DATEPART('month', #2016-04-15#) = 4
DATETRUNC(date_part,date,[start_of_week])
Questa funzione restituisce una nuova data, in base al date part richiesto. Ad esempio, se avete una data che è la metà di un mese, vi restituisce il primo giorno di quel mese se avete specificato month come datepart.
Esempio:
DATETRUNC('quarter', #2016-08-15#) = 2016-07-01 12:00:00 AM
DATETRUNC('month', #2016-04-15#) = 2016-04-01 12:00:00 AM
DAY(date)
Restituisce il giorno di una data, come intero
Esempio:
DAY(#2016-04-12#) = 12
ISDATE(string)
Restituisce true se una data stringa è in forma data valida. Un modo rapido per vedere se un campo è una data utilizzabile
Esempio:
ISDATE(“April 15, 2016”) = true
MAKEDATE(year, month, day)
Combina i valori prescelti in una data valida
Esempio:
MAKEDATE(2016, 4, 15) = #April 15, 2016#
MAKEDATETIME (date, time)
Restituisce una data che combina data e orario. La data può essere di tipo data, data e ora o stringa. L’orario dev’essere di tipo orario.
Esempio:
MAKEDATETIME("1899-12-30", #07:59:00#) = #12/30/1899 7:59:00 AM#
MAKEDATETIME([Date], [Time]) = #1/1/2001 6:00:00 AM#
MAKETIME(hour, minute, second)
Come per MAKEDATE combina i valori prescelti per comporre un’orario
Esempio:
MAKETIME(14, 52, 40) = #14:52:40#
MAX(expression) o MAX(expr1, expr2)
Max per i numeri lo conosciamo ma funziona anche per le date. Restituisce la data maggiore tra due (la più vicina in ordine cronologico) che devono essere ovviamente dello stesso tipo. Restituisce Null se non sono dello stesso tipo.
Esempio:
MAX(#2016-01-01# ,#2016-03-01#) = 2016-03-01 12:00:00 AM
MAX([ShipDate1], [ShipDate2])
Se invece volessimo avere la data minore, la più vecchia in ordine cronologico, useremo MIN
MIN(expression) o MIN(expr1, expr2)
Esempio:
MIN(#2016-01-01# ,#2016-03-01#) = 2016-01-01 12:00:00 AM
MONTH(Date)
Di una data specifica, restituisce il mese in formato intero
Esempio:
MONTH(#2016-04-15#) = 4
NOW()
Restituisce data e orario corrente
Il risultato dipende dalla natura della connessione:
- Per una live, con o senza connessione pubblicata, restituisce l’orario del server
- Per un estratto non pubblicato, restituisce l’orario di sistema
- Per un estratto pubblicato, restituisce l’orari locale del Tableau Server Data Engine
Esempio:
NOW( ) = 2016-09-05 11:08:21 AM
TODAY()
Restituisce la data corrente
Esempio:
TODAY( ) = 2016-09-05
YEAR(date)
Restituisce l’anno di una data in formato intero
Esempio:
YEAR(#2009-08#) = 2009
Grazie per la lettura e nella speranza che sia stato tutto chiaro, vi rimandiamo al nostro account Twitter, per dubbi, approfondimenti e domande varie @infolab