<< Back

Funzioni con le date

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

data tableau

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

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.