DAX no Power BI: funções, contextos e medidas

Como criar tabela calendário em DAX

Publicado em 2026-08-16. Autor: Victor.

Tabela calendário em DAX: por que o auto date/time não basta, CALENDAR, feriados e um gerador de código copiável.

Sem tabela calendário, time intelligence é teatro. O auto date/time do Desktop cria hierarquias escondidas e quebra assim que você tem mais de uma coluna de data.

Regras de uma dimensão data

  • Uma linha por dia, sem furo no intervalo.
  • Relacionamento 1:* com o fato, coluna Date no lado 1.
  • Marque como tabela de data.
  • Desligue auto date/time no arquivo.

Versão DAX mínima

Calendario =
ADDCOLUMNS (
    CALENDAR ( DATE ( 2020, 1, 1 ), DATE ( 2026, 12, 31 ) ),
    "Ano", YEAR ( [Date] ),
    "Mes", MONTH ( [Date] ),
    "AnoMes", FORMAT ( [Date], "YYYY-MM" )
)

Feriado e dia útil: melhor como tabela auxiliar no Query (fonte pública da sua UF) do que hardcoded em DAX. O gerador abaixo só monta a estrutura; feriado continua sendo dado.

E no Power Query?

List.Dates também funciona e deixa o modelo mais previsível em refresh. DAX é rápido de ensinar. Query é mais fácil de auditar em equipe.

Gerador de tabela calendário em DAX

Escolha o intervalo e copie a medida/tabela. O HTML da página explica o porquê; o gerador só monta o código.

Calendario =
VAR DataInicio = DATE(2020, 1, 1)
VAR DataFim = DATE(2026, 12, 31)
RETURN
ADDCOLUMNS (
    CALENDAR ( DataInicio, DataFim ),
    "Ano", YEAR ( [Date] ),
    "MesNumero", MONTH ( [Date] ),
    "MesNome", FORMAT ( [Date], "MMMM" ),
    "AnoMes", FORMAT ( [Date], "YYYY-MM" ),
    "Trimestre", QUARTER ( [Date] ),
    "DiaSemana", FORMAT ( [Date], "DDDD" ),
    "FimDeSemana", WEEKDAY ( [Date], 2 ) > 5
)

Continue lendo

Revisão técnica: Victor, Professor de Power BI e Excel.