Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Formas de filtrar os dados usando o CALCULATE

Oi!

Na aula, é passada a seguinte fórmula DAX para calcular soma das vendas dos pedidos com desconto acima de 15%:

Total Vendas Acima 15 Pct = CALCULATE([Total de Vendas], filter(FactSales, FactSales[DiscountPct] > 0.15))

Eu fiz um teste e obtive o mesmo resultado porém sem utilizar a função FILTER:

Total Vendas Acima 15 Pct = CALCULATE([Total de Vendas], FactSales[DiscountPct] > 0.15)

Minha dúvida é: quando usar ou não usar o FILTER já que obtive o mesmo resultado com códigos diferentes.

Obrigado.

Exemplo do resultado com código diferente do instrutor:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta
solução!

Ei! Tudo bem, Vinicius?

Parabéns por explorar outras formas de fazer! Isso é ótimo para o seu desenvolvimento técnico.

Quando se usa o CALCULATE com uma condição direta como:


FactSales[DiscountPct] > 0.15

o próprio mecanismo já transforma isso internamente em um filtro de tabela, como se fosse um FILTER. Por isso você obteve exatamente o mesmo resultado.

Sobre quando usar cada abordagem, a condição direta dentro do CALCULATE funciona muito bem para filtros simples, como comparações (>, <, =, etc.) em uma única coluna. É mais simples, mais legível e até mais performático na maioria dos casos.
Quanto ao FILTER é para quando você precisa de algo mais elaborado.Por exemplo, quando o filtro envolve múltiplas condições mais complexas, uso de funções dentro da condição, comparação entre colunas, ou quando você precisa controlar exatamente como a tabela está sendo iterada linha a linha.

Continue se dedicando aos estudos assim e qualquer dúvida, compartilhe no fórum.

Até mais e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado