(+351) 21 24 10006  ·  info@bconcepts.pt
Carnaxide, Lisboa
DAX

Time Intelligence em DAX com tabela de datas personalizada

João Barros 28 de April de 2025 1 min de leitura

Time Intelligence é o conjunto de funções DAX que permite calcular períodos como Ano-até-à-data (YTD), Mês-até-à-data (MTD), comparações Year-over-Year (YoY) e períodos paralelos. Para funcionar correctamente, requerem uma tabela de datas contínua e marcada.

Criar a tabela de datas em DAX

dData =
ADDCOLUMNS(
    CALENDAR(DATE(2020,1,1), DATE(2030,12,31)),
    "Ano",         YEAR([Date]),
    "Trimestre",   "T" & QUARTER([Date]),
    "Mês",         MONTH([Date]),
    "NomeMês",     FORMAT([Date], "MMMM", "pt-PT"),
    "MêsAno",      FORMAT([Date], "MMM YYYY", "pt-PT"),
    "Semana",      WEEKNUM([Date], 2),
    "DiaSemana",   WEEKDAY([Date], 2),
    "É Útil",      IF(WEEKDAY([Date],2) <= 5, TRUE, FALSE)
)

Marque a tabela como Date Table em Table Tools → Mark as Date Table usando a coluna Date.

Medidas de Time Intelligence

Vendas YTD = TOTALYTD(SUM(fVendas[Receita]), dData[Date])

Vendas MTD = TOTALMTD(SUM(fVendas[Receita]), dData[Date])

Vendas Ano Anterior = CALCULATE(
    SUM(fVendas[Receita]),
    SAMEPERIODLASTYEAR(dData[Date])
)

YoY % = DIVIDE(
    SUM(fVendas[Receita]) - [Vendas Ano Anterior],
    [Vendas Ano Anterior]
)

Ano fiscal vs. ano civil

Se o seu ano fiscal começa em Julho, use o parâmetro year_end_date:

Vendas YTD Fiscal = TOTALYTD(
    SUM(fVendas[Receita]),
    dData[Date],
    "6/30"   -- final do ano fiscal: 30 de Junho
)

Conclusão

Uma tabela de datas bem construída e marcada correctamente desbloqueia todo o potencial das funções de Time Intelligence. Invista 30 minutos a criar uma tabela de datas reutilizável — vai usá-la em todos os projectos Power BI.

Partilhar: