Buscar K
Aparência
Aparência
Lição 7 de 12 do tutorial DAX, nível intermediário, cerca de 10 minutos. Objetivo: comparar cada mês com o mesmo mês do ano anterior.
Numa tabela com a coluna Data do Calendário nas linhas, agrupada por mês, crie a medida:
CALCULATE(
SUM('Vendas'[Faturamento]),
SAMEPERIODLASTYEAR('Calendário'[Data])
)Cada mês mostra o faturamento do mesmo mês, um ano antes.
Valores do app de demonstração:
| Mês | Faturamento | Ano anterior |
|---|---|---|
| 2026-01 | 3.854.280,58 | 3.669.264,97 |
| 2026-02 | 3.628.569,50 | 3.607.341,00 |
| 2026-03 | 4.910.233,53 | 3.963.213,89 |
| 2026-04 | 4.393.418,17 | 4.268.354,27 |
| 2026-05 | 4.695.447,08 | 4.378.399,12 |
A variação divide a diferença pelo valor do ano anterior. VAR dá nome a cada parte (lição 11):
VAR atual = SUM('Vendas'[Faturamento])
VAR anterior = CALCULATE(SUM('Vendas'[Faturamento]), SAMEPERIODLASTYEAR('Calendário'[Data]))
RETURN DIVIDE(atual - anterior, anterior)Mês sem venda no ano anterior fica vazio.
Para somar de janeiro até o mês da linha:
CALCULATE(
SUM('Vendas'[Faturamento]),
DATESYTD('Calendário'[Data])
)Cada mês soma de 1º de janeiro até o último dia dele. Em janeiro, a conta recomeça.
As funções de tempo trocam o período de cada linha. A linha de março de 2026 passa a olhar março de 2025.
A data é a coluna Data do calendário ligado à tabela de vendas. Com a data da própria tabela de vendas, a medida é recusada.
Nas linhas vai a coluna Data, agrupada por dia, mês ou ano. Outra coluna do calendário, como Mês, é recusada.
Linha sem venda no período atual não aparece, mesmo com venda no ano anterior.
A forma SQL é ${SUM(valor), data BETWEEN SUBYEARS(<data:START, CURRENT_DATE>, 1) AND SUBYEARS(<data:END, CURRENT_DATE>, 1)}. Ela usa o período do filtro de data, um ano antes. Não compara cada linha com o mesmo mês do ano anterior.
Crie a medida "Mês anterior", com o faturamento do mês inteiro anterior a cada linha.
CALCULATE(
SUM('Vendas'[Faturamento]),
PREVIOUSMONTH('Calendário'[Data])
)