Funções de data nos ajudam em diferentes tipos de análise, a inúmeras possibilidades, elas nos permitem manipular as datas em nossa fonte de dados, podemos criar uma data personalizada ou criar cálculos que dependam de uma data truncada por exemplo. Neste artigo falaremos sobre funções de data com o Tableau e alguns exemplos de utilização que lhe auxiliarão na compreensão das funções e seus retornos.
Em algumas ocasiões o Tableau pode interpretar um campo de datas como um tipo de dado, nestas situações será necessário alterar o tipo de dado manualmente, basta clicar no ícone com o tipo de dado e alterá-lo para o tipo correto, como boa prática, sempre confira se a tipagem de dado esta correta antes de criar a sua extração.
Podemos definir propriedades de data para uma ou mais fonte de dados, basta clicar com o botão direito do mouse em uma fonte de dados e selecionar propriedade padrão, as propriedades disponíveis são:
Calendário Padrão: Esta opção específica qual sistema de calendário será utilizado, gregoriano padrão ou ISSO-8601 baseado em semanas.
Início da semana: Esta opção específica qual dia da semana queremos considerar como o primeiro dia.
Início do ano fiscal: Esta opção especifica qual mês é considerado o primeiro mês do ano fiscal.
Formato de data: Especifica o formato padrão para as dimensões de data.
Funções de Data Disponíveis no Tableau
Fonte imagem: https://www.pexels.com/pt-br/foto/teclado-apple-cinza-e-ipad-cinza-196650/
DATEADD – Esta função irá retornar a data apontada com o intervalo do número especificado, incluindo a parte da data especificada a esta data, sua sitaxe: DATEADD(date_part, interval, date)
Exemplo de utilização:
DATEADD (‘month’, 5, #18-04-2022#) como retorno desta função, teremos a seguinte data: 18-09-2022. Ou seja, adicionamos 5 meses a data informada nesta função.
DATEDIFF – Esta função irá retornar a diferença entre duas datas, sendo expressa conforme a parte de data que será definida em nosso parâmetro, sua sintaxe: DATEDIFF(date_part, date1, date2, [start_of_week]), o parâmetro start of week, levará em consideração o primeiro dia ou semana que você definir, não é obrigatório, porem sendo omitido levará em consideração o início da semana definido em sua fonte de dados.
Exemplo de utilização:
DATEDIFF('week', #2022-04-24#, #2022-04-26#, 'monday')= 1
DATEDIFF('week', #2022-04-24#, #2022-04-26#, 'sunday')= 0
No primeiro exemplo o retorno será 1, pois estamos considerando como primeiro dia da semana ‘monday’, se 24 de abril é um domingo e 26 de abril é uma terça-feira, logo estão em semanas diferentes.
No segundo exemplo o retorno será 0, pois estamos considerando o primeiro dia da semana ‘sunday’, se 24 de abril é um domingo e 26 uma terça, logo estão na mesma semana.
DATENAME – Está função retornara a parte da data como uma cadeia de caracteres, da mesma forma que nas funções anteriores, o start_of_week não é obrigatório.
Sintaxe: DATENAME(date_part, date, [start_of_week])
Exemplo de utilização:
DATENAME (‘year’, #2022/04/24#) retornara “2022”
DATENAME (‘month’, #2022/04/24#) retornara “April”
DATEPARSE – Retorna um campo [date_string] como uma data.
Sintaxe: DATEPARSE(date_format, [date_string]), o argumento date_format definira como o campo string deve ser organizado.
Exemplo de utilização:
DATEPARSE(‘yyyy-MM-dd’, #2022-04-24#) = ‘April 24, 2022’
DATEPART – Retorna a parte de uma data como um inteiro.
Sintaxe: DATEPART(date_part, date, [start_of_week])
Exemplo de utilização:
DATEPART('year', #2022-04-24#) = 2022
DATEPART('month', #2022-04-24#) = 4
DATETRUNC – Esta função trunca a data especificada na parte da data informada na função e retorna uma nova data, start_of_week é opcional.
Sintaxe: DATETRUNC(date_part, date, [start_of_week])
Exemplo de utilização:
DATETRUNC('quarter', #2022-04-24#) = 2022-07-01 12:00:00 AM
DATETRUNC('month', #2022-04-24#) = 2004-04-01 12:00:00 AM
DAY – Esta função retornará o dia da data especificada como um inteiro.
Sintaxe: DAY(date)
Exemplo:
DAY(#2022-04-24#) = 24
ISDATE – Esta função retornará verdadeiro caso uma cadeia de caracteres seja uma data valida
Sintaxe: ISDATE(string)
Exemplo:
ISDATE("April 24, 2022") = true
MAKEDATE – Retornará um valor de data composto por um ano, mês e dia.
Sintaxe: MAKEDATE(year, month, day)
Exemplo de utilização:
MAKEDATE (2022, 4, 24) = #April 24, 2022#
MAKEDATETIME – Retornará um datetime que combina data e hora
Sintaxe: MAKEDATETIME(date, time)
Exemplo de utilização:
MAKEDATETIME("2022-04-24", #09:45:00#) = #04/24/2022 9:45:00 AM#
MAX – Já vimos o Max no artigo onde falamos sobre Tipos de agregações com o Tableau, porém também se aplica a data, retornará o máximo entre A e B e nulo, caso um dos argumentos seja null.
Sintaxe MAX(expression) or MAX(expr1, expr2)
Exemplo de utilização:
MAX(#2022-04-01# ,#2022-05-01#) = 2022-05-01 12:00:00 AM
MIN – Outro conhecido, também falamos sobre o Min, assim como o Max, também podemos utilizar o Min com datas, retornará o mínimo entre A e B e nulo, caso um dos argumentos seja null.
Sintaxe: MIN(expression) or MIN(expr1, expr2)
Exemplo de utilização:
MIN(#2022-04-01# ,#2022-05-01#) = 2022-04-01 12:00:00 AM
MONTH – Esta função retorna o mês de uma data como inteiro
Sintaxe: MONTH(date)
Exemplo de utilização:
MONTH(#2022-04-24#) = 4
NOW – Retornara a data e hora atuais localmente no sistema.
Sintaxe: Now()
Exemplo de utilização:
NOW( ) = 2022-04-24 8:08:21 AM
Quarter – Retorna o trimestre da data como um inteiro
Sintaxe: QUARTER ( )
Exemplo de utilização:
QUARTER (#2022-04-24#) = 2
TODAY – Retorna a data atual
Sintaxe: TODAY( )
Exemplo de utilização:
TODAY() = 2022-04-24
WEEK - Retorna a semana da data como um inteiro.
Sintaxe: WEEK( )
Exemplo de utilização:
WEEK (#2022-04-24#) = 18
YEAR – Retorna o ano da data como inteiro.
Sintaxe: YEAR(date)
Exemplo de utilização:
YEAR(#2022-04-24#) = 2022
ISOQUARTER – Retorna o trimestre como inteiro baseado em semana ISO8601.
Sintaxe: ISOQUARTER (date)
Exemplo de utilização:
ISOQUARTER (#2022-03-24#) = 2
ISOWEEK – Retorna a semana como inteiro baseado em semana ISO8601.
Sintaxe: ISOWEEK (date)
Exemplo de utilização:
ISOWEEK (#2022-03-29#) = 13
ISOWEEKDAY - Retorna o dia da semana como inteiro baseado em semana ISO8601.
Sintaxe: ISOWEEKDAY (date)
Exemplo de utilização:
ISOWEEKDAY (#2022-03-29#) = 2
ISOYEAR - Retorna o ano como inteiro baseado em semana ISO8601.
Sintaxe: ISOYEAR (date)
Exemplo de utilização:
ISOYEAR (#2022-12-29#) = 2022
Diversas funções no Tableau utilizam o argumento date_part, abaixo os valores validos que podemos utilizar:
DATE_PART VALORES
'year' Ano com quatro dígitos
'quarter' 1 a 4
'month' 1 a 12 ou "January", "February"...
'dayofyear' Dia do ano; 1 de janeiro é 1, 1 de fevereiro é 32 e assim por diante
'day' Entre 1 e 31
'weekday' Entre 1 e 7 ou "Sunday", "Monday" e assim por diante
'week' Entre 1 e 52
'hour' Entre 0 e 23
'minute' Entre 0 e 59
'second' Entre 0 e 60
'iso-year' Ano com quatro dígitos baseado no ISO 8601
'iso-quarter' 1 a 4
'iso-week' Entre 1 e 52, o início da semana é sempre segunda-feira
'iso-weekday' Entre 1e 7, o início da semana é sempre segunda-feira
Ficamos por aqui, essas são as funções de data disponíveis no Tableau, o conteúdo é um pouco extenso e vale a pena fixá-lo, releia e pratique, dominar essas funções e aplicá-las corretamente lhe trará indicadores mais concisos e performáticos.
Até o próximo artigo meus amigos.