1
resposta

[Projeto] Mão na massa: calculando vendas com filtros

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

Vendas Data Science = 
SUMX(
    FILTER( 
        All(Vendas), 
        RELATED(Produtos[Categoria]) = "Data Science"
        ),
    Vendas[Quantidade] * Vendas[Preço Calculado]
    )
1 resposta

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!