Resolve BI

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.

Dúvidas relacionadas