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
)