Excel DAX - Time Intelligence

DAX tem um recurso importante e poderoso, conhecido como Time Intelligence. A inteligência de tempo permite que você escreva fórmulas DAX que se referem aos períodos de tempo para uso nas tabelas dinâmicas.

O DAX tem 35 funções de inteligência de tempo especificamente para agregar e comparar dados ao longo do tempo. No entanto, essas funções DAX têm algumas restrições nos dados que você precisa entender e trabalhar com cuidado para evitar erros.

Por que a inteligência de tempo torna o DAX poderoso?

As funções de inteligência de tempo trabalham com dados que mudam constantemente, dependendo do contexto selecionado nas tabelas dinâmicas e nas visualizações do Power View. Como você sabe, a maior parte da análise de dados envolve o resumo dos dados ao longo dos períodos de tempo, comparando os valores dos dados ao longo dos períodos, entendendo as tendências e tomando decisões com base nas projeções futuras.

Por exemplo, você pode desejar somar os valores das vendas do mês anterior em relação ao produto e comparar os totais com os de outros meses do ano fiscal. Isso significa que você deve usar as datas como uma forma de agrupar e agregar as transações de vendas de um determinado período de tempo.

É aqui que você pode observar o poder do DAX. Você pode usar funções de inteligência de tempo DAX para definir campos calculados que o ajudam a analisar os dados ao longo do tempo, sem ter que alterar as seleções de data nas tabelas dinâmicas. Isso torna seu trabalho mais fácil. Além disso, você pode construir tabelas dinâmicas que não seriam possíveis de outra maneira.

Requisitos para funções DAX Time Intelligence

As funções de inteligência de tempo DAX têm certos requisitos. Se esses requisitos não forem atendidos, você pode obter erros ou eles podem não funcionar corretamente. Portanto, você também pode se referir a esses requisitos como regras ou restrições. A seguir estão certos requisitos / regras / restrições de funções de inteligência de tempo DAX -

  • Você precisa ter uma tabela de datas em seu modelo de dados.

  • A tabela de datas deve incluir uma coluna considerada a coluna Data pelo DAX. Você pode nomear a coluna da maneira que quiser, mas ela deve obedecer às seguintes condições: o A coluna de data deve conter um conjunto contíguo de datas que cobre todos os dias no período de tempo em que você está analisando os dados.

    • Cada data deve existir uma e apenas uma vez na coluna de data.

    • Você não pode pular nenhuma data (por exemplo, você não pode pular datas de fim de semana).

  • As funções de inteligência de tempo DAX funcionam apenas em um calendário padrão e assumem o início do ano como 1º de janeiro e o final do ano como 31 de dezembro, com os meses do ano e os dias de cada mês a partir de um ano civil.

No entanto, você pode personalizar um calendário padrão para diferentes anos financeiros. É uma boa prática verificar os requisitos acima antes que qualquer função de inteligência de tempo seja usada.

Para obter mais detalhes sobre tabelas de datas e seu uso em fórmulas DAX, consulte o tutorial = Modelagem de dados com DAX nesta biblioteca de tutoriais.

Funções DAX Time Intelligence - Categorias

As funções DAX Time Intelligence podem ser categorizadas da seguinte forma -

  • Funções DAX que retornam uma única data.
  • Funções DAX que retornam uma tabela de datas.
  • Funções DAX que avaliam expressões ao longo de um período de tempo.

Funções DAX que retornam uma única data

As funções DAX nesta categoria retornam uma única data.

Existem 10 funções DAX nesta categoria -

Sr. Não. Função DAX e valor de retorno
1

FIRSTDATE (Date_Column)

Retorna a primeira data em Date_Column no contexto atual.

2

LASTDATE (Date_Column)

Retorna a última data em Date_Column no contexto atual.

3

FIRSTNONBLANK (Date_Column, Expression)

Retorna a primeira data em que uma expressão possui um valor não em branco.

4

LASTNONBLANK (Date_Column, Expression)

Retorna a última data em que uma expressão possui um valor não em branco.

5

STARTOFMONTH (Date_Column)

Retorna a primeira data de um mês no contexto atual.

6

ENDOFMONTH (Date_Column)

Retorna a última data de um mês no contexto atual.

7

STARTOFQUARTER (Date_Column)

Retorna a primeira data de um trimestre no contexto atual.

8

ENDOFQUARTER (Date_Column)

Retorna a última data de um trimestre no contexto atual.

9

STARTOFYEAR (Date_Column, [YE_Date])

Retorna a primeira data de um ano no contexto atual.

10

ENDOFYEAR (Date_Column, [YE_Date])

Retorna a última data de um ano no contexto atual.

Funções DAX que retornam uma tabela de datas

As funções DAX nesta categoria retornam uma tabela de datas. Essas funções serão usadas principalmente como um argumento SetFilter para a função DAX - CALCULATE.

Existem 16 funções DAX nesta categoria. Oito (8) dessas funções DAX são as funções “anterior” e “seguinte”.

  • As funções “anterior” e “seguinte” começam com uma coluna de data no contexto atual e calculam o dia, mês, trimestre ou ano anterior ou seguinte.

  • As funções “anteriores” funcionam para trás a partir da primeira data no contexto atual e as funções “próximas” avançam a partir da última data no contexto atual.

  • As funções “anterior” e “seguinte” retornam as datas resultantes na forma de uma tabela de coluna única.

Sr. Não. Função DAX e valor de retorno
1

PREVIOUSDAY (Date_Column)

Retorna uma tabela que contém uma coluna de todas as datas que representam o dia anterior à primeira data em Date_Column no contexto atual.

2

NEXTDAY (Date_Column)

Retorna uma tabela que contém uma coluna de todas as datas do dia seguinte, com base na primeira data especificada em Date_Column no contexto atual.

3

PREVIOUSMONTH (Date_Column)

Retorna uma tabela que contém uma coluna de todas as datas do mês anterior, com base na primeira data em Date_Column no contexto atual.

4

NEXTMONTH (Date_Column)

Retorna uma tabela que contém uma coluna de todas as datas do próximo mês, com base na primeira data em Date_Column no contexto atual.

5

PREVIOUSQUARTER (Date_Column)

Retorna uma tabela que contém uma coluna de todas as datas do trimestre anterior, com base na primeira data em Date_Column no contexto atual.

6

NEXTQUARTER (Date_Column)

Retorna uma tabela que contém uma coluna de todas as datas no próximo trimestre, com base na primeira data especificada em Date_Column no contexto atual.

7

PREVIOUSYEAR (Date_Column, [YE_Date])

Retorna uma tabela que contém uma coluna de todas as datas do ano anterior, considerando a última data em Date_Column no contexto atual.

8

NEXTYEAR (Date_Column, [YE_Date])

Retorna uma tabela que contém uma coluna de todas as datas no próximo ano, com base na primeira data em Date_Column no contexto atual.

Quatro (4) funções DAX calculam um conjunto de datas em um período. Essas funções executam os cálculos usando a última data no contexto atual.

Sr. Não. Função DAX e valor de retorno
1

DATESMTD (Date_Column)

Retorna uma tabela que contém uma coluna das datas do mês até a data, no contexto atual.

2

DATESQTD (Date_Column)

Retorna uma tabela que contém uma coluna das datas do trimestre até a data, no contexto atual.

3

DATESYTD (Date_Column, [YE_Date])

Retorna uma tabela que contém uma coluna das datas do ano até a data, no contexto atual.

4

SAMEPERIODLASTYEAR (Date_Column)

Retorna uma tabela que contém uma coluna de datas deslocadas um ano atrás das datas na Date_Column especificada, no contexto atual.

Note- SAMEPERIODLASTYEAR requer que o contexto atual contenha um conjunto contíguo de datas.

Se o contexto atual não for um conjunto contíguo de datas, SAMEPERIODLASTYEAR retornará um erro.

  • Quatro (4) funções DAX são usadas para mudar do conjunto de datas que está no contexto atual para um novo conjunto de datas.

    Essas funções DAX são mais poderosas do que as anteriores.

    • As funções DAX - DATEADD, DATESINPERIOD e PARALLELPERIOD mudam alguns intervalos de tempo do contexto atual. O intervalo pode ser dia, mês, trimestre ou ano, representado pelas palavras-chave - DIA, MÊS, TRIMESTRE e ANO respectivamente.

      Por exemplo:

  • Retroceda 2 dias.

  • Avance 5 meses.

  • Avance um mês a partir de hoje.

  • Volte para o mesmo trimestre do ano passado.

      Se o argumento da função - número de intervalos (valor inteiro) for positivo, o deslocamento é para frente e se for negativo, o deslocamento é para trás.

    • Função DAX - DATESBETWEEN calcula o conjunto de datas entre a data de início especificada e a data de término.

Sr. Não. Função DAX e valor de retorno
1

DATEADD (Date_Column, Number_of_Intervals, Interval)

Retorna uma tabela que contém uma coluna de datas, deslocada para frente ou para trás no tempo pelo número especificado de intervalos das datas no contexto atual.

2

DATESINPERIOD (Date_Column, Start_Date, Number_of_Intervals, Interval)

Retorna uma tabela que contém uma coluna de datas que começa com a data_início e continua para o número_de_intervalos especificado.

3

PARALLELPERIOD (Date_Column, Number_of_Intervals, Interval)

Retorna uma tabela que contém uma coluna de datas que representa um período paralelo às datas no Date_Column especificado no contexto atual, com as datas deslocadas em vários intervalos para frente ou para trás no tempo.

4

DATESBETWEEN (Date_Column, Start_Date, End_Date)

Retorna uma tabela que contém uma coluna de datas que começa com start_date e continua até end_date.

Funções DAX que avaliam expressões ao longo de um período de tempo

As funções DAX nesta categoria avaliam uma expressão em um período de tempo especificado.

Existem nove (9) funções DAX nesta categoria -

  • Três (3) funções DAX nesta categoria podem ser usadas para avaliar qualquer expressão em um período de tempo especificado.

Sr. Não. Função DAX e valor de retorno
1

TOTALMTD (Expression, Date_Column, [SetFilter])

Avalia o valor da expressão para as datas do mês até a data, no contexto atual.

2

TOTALQTD (Expression, Date_Column, [SetFilter])

Avalia o valor da expressão para as datas do trimestre atual, no contexto atual.

3

TOTALYTD (Expression, Date_Column, [SetFilter], [YE_Date])

Avalia o valor da expressão para as datas do ano até a data, no contexto atual

  • Seis (6) funções DAX nesta categoria podem ser usadas para calcular os saldos de abertura e fechamento.

    • O saldo inicial de qualquer período é igual ao saldo final do período anterior.

    • O saldo final inclui todos os dados até o final do período, enquanto o saldo inicial não inclui quaisquer dados do período atual.

    • Essas funções DAX sempre retornam o valor de uma expressão avaliada para um ponto específico no tempo.

  • O momento com o qual nos importamos é sempre o último valor de data possível em um período do calendário.

  • O saldo inicial é baseado na última data do período anterior, enquanto o saldo final é baseado na última data do período atual.

  • O período atual é sempre determinado pela última data no contexto da data atual.

Sr. Não. Função DAX e valor de retorno
1

OPENINGBALANCEMONTH (Expression, Date_Column, [SetFilter])

Avalia a expressão na primeira data do mês no contexto atual.

2

CLOSINGBALANCEMONTH (Expression, Date_Column, [SetFilter])

Avalia a expressão na última data do mês no contexto atual.

3

OPENINGBALANCEQUARTER (Expression, Date_Column, [SetFilter])

Avalia a expressão na primeira data do trimestre, no contexto atual.

4

CLOSINGBALANCEQUARTER (Expression, Date_Column, [SetFilter])

Avalia a expressão na última data do trimestre no contexto atual.

5

OPENINGBALANCEYEAR (Expression, Date_Column, [SetFilter], [YE_Date])

Avalia a expressão na primeira data do ano no contexto atual.

6

CLOSINGBALANCEYEAR (Expression, Date_Column, [SetFilter], [YE_Date])

Avalia a expressão na última data do ano no contexto atual.