CALCULATE: como funciona?
Intermediário7 min
O problema
Você precisa calcular um valor ignorando ou alterando os filtros que vêm do visual, mas a medida sempre respeita o contexto da página.
Como funciona
CALCULATE avalia uma expressão dentro de um contexto de filtro que você mesmo define. Ele primeiro aplica os filtros passados como argumento, substituindo filtros existentes na mesma coluna, e só depois calcula a expressão.
Exemplo
DAX
Vendas Sul =
CALCULATE(
[Total Vendas],
Regiao[Nome] = "Sul"
)Resultado
A medida retorna sempre o total da região Sul, mesmo que o visual esteja filtrando outra região.
Quando usar
- Comparar um subconjunto fixo contra o total
- Criar medidas de período anterior com funções de tempo
- Alterar o contexto de filtro de forma controlada
Quando evitar
- Quando um filtro simples no visual já resolve
- Dentro de laços de iteração pesados sobre tabelas grandes
Resolve Melhor
Em vez de repetir CALCULATE com o mesmo filtro em várias medidas, crie uma medida base e reutilize-a. Menos código, menos manutenção.