Applies ToExcel para Microsoft 365 Excel 2024 Excel 2021 Excel 2019 Excel 2016

O DAX (Data Analysis Expressions) tem 35 funções especificamente para agregar e comparar dados ao longo do tempo. Ao contrário das funções de data e hora do DAX, as funções de Análise de tempo não têm realmente nada semelhante no Excel. Isto acontece porque as funções de análise de tempo funcionam com dados que estão em constante mudança, consoante o contexto que selecionar em tabelas dinâmicas e visualizações do Power View.

Para trabalhar com funções de análise de tempo, tem de ter uma tabela de datas incluída no seu Modelo de Dados. A tabela de datas tem de incluir uma coluna com uma linha para cada dia de cada ano incluído nos seus dados. Esta coluna é considerada a coluna Data (embora possa ter o nome que quiser). Muitas funções de análise de tempo requerem a coluna de data para calcular de acordo com as datas que selecionar como campos num relatório. Por exemplo, se tiver uma medida que calcule um saldo trimestral de fecho com a função CLOSINGBALANCEQTR, para que o Power Pivot saiba quando é realmente o fim do trimestre, tem de referenciar a coluna de data na tabela de datas para saber quando o trimestre começa e termina. Para saber mais sobre tabelas de datas, consulte Compreender e criar tabelas de datas no Power Pivot no Excel.

Funções

Funções que devolvem uma única data

As funções nesta categoria devolvem uma única data. Em seguida, o resultado pode ser utilizado como argumentos para outras funções.

As duas primeiras funções nesta categoria devolvem a primeira ou última data no Date_Column no contexto atual. Isto pode ser útil quando pretender encontrar a primeira ou última data em que teve uma transação de um tipo específico. Estas funções têm apenas um argumento, o nome da coluna de data na tabela de datas.

As duas funções seguintes nesta categoria localizam a primeira ou última data (ou qualquer outro valor de coluna) em que uma expressão tem um valor que não está em branco. Isto é utilizado mais frequentemente em situações como o inventário, onde quer obter o último valor de inventário e não sabe quando foi feito o último inventário.

Mais seis funções que devolvem uma única data são as funções que devolvem a primeira ou última data de um mês, trimestre ou ano no contexto atual do cálculo.

Funções que devolvem uma tabela de datas

Existem dezasseis funções de análise de tempo que devolvem uma tabela de datas. Na maioria das vezes, estas funções serão utilizadas como um argumento SetFilter para a função CALCULATE . Tal como todas as funções de análise de tempo no DAX, cada função utiliza uma coluna de data como um dos seus argumentos.

As primeiras oito funções nesta categoria começam com uma coluna de data num contexto atual. Por exemplo, se utilizar uma medida numa tabela dinâmica, poderá haver um mês ou ano nas etiquetas de coluna ou nas etiquetas de linha. O efeito net é que a coluna de data é filtrada para incluir apenas as datas do contexto atual. A partir desse contexto atual, estas oito funções calculam o dia, mês, trimestre ou ano anterior (ou seguinte) e devolvem essas datas sob a forma de uma única tabela de colunas. As funções "anteriores" funcionam para trás desde a primeira data no contexto atual e as funções "seguinte" avançam desde a última data no contexto atual.

As quatro funções seguintes nesta categoria são semelhantes, mas em vez de calcularem um período anterior (ou seguinte), calculam o conjunto de datas no período que é "mês-a-data" (ou trimestre até à data, ano até à data ou no mesmo período do ano anterior). Todas estas funções executam os respetivos cálculos com a última data no contexto atual. Tenha em atenção que 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 devolverá um erro.

As últimas quatro funções nesta categoria são um pouco mais complexas e também um pouco mais poderosas. Estas funções são utilizadas para mudar do conjunto de datas que estão no contexto atual para um novo conjunto de datas.

  • DATEADD (Date_Column, Number_of_Intervals, Interval)

  • DATESBETWEEN (Date_Column, Start_Date, End_Date)

  • DATESINPERIOD (Date_Column, Start_Date, Number_of_Intervals, Interval)

DATESBETWEEN calcula o conjunto de datas entre a data de início e a data de fim especificadas. As três funções restantes deslocam algum número de intervalos de tempo do contexto atual. O intervalo pode ser dia, mês, trimestre ou ano. Estas funções facilitam a mudança do intervalo de tempo de um cálculo por qualquer uma das seguintes:

  • Voltar dois anos

  • Voltar um mês

  • Avançar três quartos

  • Voltar 14 dias

  • Avançar 28 dias

Em cada caso, só precisa de especificar que intervalo e quantos desses intervalos devem ser movidos. Um intervalo positivo avançará no tempo, enquanto um intervalo negativo retrocederá no tempo. O intervalo em si é especificado por uma palavra-chave DE DIA, MÊS, TRIMESTRE ou ANO. Estas palavras-chave não são cadeias, pelo que não devem estar entre aspas.

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

Esta categoria de funções avalia uma expressão ao longo de um período de tempo especificado. Pode realizar o mesmo com CALCULATE e outras funções de análise de tempo. Por exemplo:

= TOTALMTD (Expressão, Date_Column [, SetFilter])

é exatamente o mesmo que:

= CALCULATE (Expression, DATESMTD (Date_Column)[, SetFilter])

No entanto, é mais fácil utilizar estas funções de análise de tempo quando são uma boa opção para o problema que tem de ser resolvido:

  • TOTALMTD (Expressão, Date_Column [, SetFilter])

  • TOTALQTD (Expressão, Date_Column [, SetFilter])

  • TOTALYTD (Expressão, Date_Column [, SetFilter] [,YE_Date]) *

Também nesta categoria estão um grupo de funções que calculam os saldos de abertura e fecho. Existem determinados conceitos que deve compreender com estas funções específicas. Em primeiro lugar, como poderá considerar óbvio, o saldo de abertura para qualquer período é o mesmo que o saldo de fecho do período anterior. O saldo de fecho inclui todos os dados até ao final do período, enquanto o saldo de abertura não inclui quaisquer dados do período atual.

Estas funções devolvem sempre o valor de uma expressão avaliada para um ponto específico no tempo. O ponto anterior no tempo que nos interessa é sempre o último valor de data possível num período de calendário. O saldo de abertura baseia-se na última data do período anterior, enquanto o saldo de fecho baseia-se na última data do período atual. O período atual é sempre determinado pela última data no contexto de data atual.

Recursos adicionais

Artigos: Compreender e criar tabelas de datas no Power Pivot no Excel

Referência: Referência da Função DAXno Office.com

Exemplos: Modelação e Análise de Dados de Lucros e Perdas com o Microsoft PowerPivot no Excel

Precisa de mais ajuda?

Quer mais opções?

Explore os benefícios da subscrição, navegue em cursos de formação, saiba como proteger o seu dispositivo e muito mais.

As comunidades ajudam-no a colocar e a responder perguntas, a dar feedback e a ouvir especialistas com conhecimentos abrangentes.