Vendas Data Science =
SUMX(
FILTER(
All(Vendas),
RELATED(Produtos[Categoria]) = "Data Science"
),
Vendas[Quantidade] * Vendas[Preço Calculado]
)
Vendas Data Science =
SUMX(
FILTER(
All(Vendas),
RELATED(Produtos[Categoria]) = "Data Science"
),
Vendas[Quantidade] * Vendas[Preço Calculado]
)
Olá, Edson. Como vai?
Parabéns por concluir mais esse desafio! Você utilizou uma combinação de funções muito poderosa no DAX: SUMX, FILTER, ALL e RELATED. Essa estrutura demonstra que você compreendeu como manipular o contexto de filtro para obter resultados específicos.
Gostaria de destacar alguns pontos técnicos importantes sobre a fórmula que você construiu e como ela funciona "por baixo dos panos":
O papel da função RELATED
Como a informação de "Categoria" está na tabela Produtos e você está iterando na tabela Vendas, o uso do RELATED é essencial. Ele permite que a tabela de fatos (Vendas) "enxergue" um valor na tabela de dimensões (Produtos) através do relacionamento existente entre elas. Sem isso, o filtro não funcionaria.
O uso do ALL(Vendas)
Ao utilizar ALL(Vendas) dentro do FILTER, você está dizendo ao Power BI para ignorar qualquer filtro que o usuário tenha aplicado na página (como um filtro de data ou de vendedor) especificamente para essa tabela de vendas, focando apenas no critério "Data Science". Isso é muito útil para criar cálculos de "Total Geral" ou comparativos de Market Share.
Dica de Performance: CALCULATE
Sua fórmula está correta e funcional! No entanto, no dia a dia com modelos de dados muito grandes, a comunidade costuma recomendar o uso da função CALCULATE por ser mais otimizada para filtros simples. Veja como ficaria a versão alternativa:
Vendas Data Science Alt =
CALCULATE(
[Total Vendas], -- Supondo que você já tenha essa medida criada
KEEPFILTERS(Produtos[Categoria] = "Data Science")
)
Por que usar a sua versão com SUMX?
A versão que você fez é excelente quando você precisa de um controle granular sobre a iteração ou quando está realizando cálculos que não existem como medidas prévias. Ela é a base para entender como o motor do Power BI processa linha por linha antes de agregar os valores.
Continue explorando essas funções de tabela, pois elas são o que diferencia um usuário básico de um analista avançado em Power BI!
Espero que possa ter lhe ajudado!