FILTER x CALCULATE
Intermediário5 min
O problema
Você não sabe quando aplicar a condição direto no CALCULATE e quando precisa de FILTER.
Como funciona
Filtros simples no CALCULATE são convertidos internamente em FILTER sobre a coluna. Use FILTER explicitamente quando a condição envolve medidas ou compara colunas diferentes.
Exemplo
DAX
Clientes Acima da Media =
CALCULATE(
COUNTROWS(Clientes),
FILTER(
Clientes,
[Ticket Medio] > 500
)
)Resultado
Conta apenas os clientes cujo ticket médio calculado passa de 500.
Quando usar
- Condições que dependem de uma medida
- Comparação entre duas colunas da mesma linha
Quando evitar
- Condições simples de igualdade em uma coluna
- Tabelas muito grandes, quando existe alternativa com colunas indexadas
Resolve Melhor
Prefira FILTER sobre a menor tabela possível (normalmente a dimensão) em vez da tabela fato inteira.