1
resposta

[Projeto] MAO NA MASSA - DESAFIO

Vendas Totais Big Data = SUMX( FILTER( (Vendas), RELATED(Produtos[Categoria]) = "Big Data" ), Vendas[Quantidade] )

Vendas Totais Big Data all = SUMX( FILTER( ALL(Vendas), RELATED(Produtos[Categoria]) = "Big Data" ), Vendas[Quantidade] )

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

1 resposta

Olá, Washington. Como vai?

Excelente trabalho neste desafio! A exploração de contextos é um dos pilares mais importantes (e desafiadores) do DAX, e suas fórmulas demonstram que você compreendeu a diferença crucial entre filtrar dados mantendo o contexto atual e ignorá-lo para obter totais globais.


Análise das Medidas e Contextos

Na imagem fornecida, vemos a aplicação prática de duas medidas distintas que ilustram bem os conceitos de Contexto de Filtro e a função ALL:

  1. Vendas Totais Big Data:
  • Sua fórmula utiliza SUMX e FILTER sobre a tabela Vendas.
  • Como observado na tabela de "Nome" (vendedores), esta medida respeita o contexto de filtro da linha. Ou seja, ela calcula as vendas de "Big Data" especificamente para cada vendedor (Allan Spadini, Ana Duarte, etc.), totalizando 1.937.449.
  • O uso do RELATED é perfeito aqui, pois permite acessar a categoria na tabela de Produtos a partir da tabela de Vendas.
  1. Vendas Totais Big Data all:
  • Aqui você introduziu a função ALL(Vendas) dentro do filtro.
  • A função ALL remove os filtros aplicados à tabela, o que explica por que o cartão exibe 1,94M.
  • Este valor representa o total geral de vendas da categoria "Big Data", ignorando quem é o vendedor ou qualquer outro filtro lateral que esteja ativo no relatório.

Dica Técnica: Performance e Legibilidade

Embora o uso de FILTER com SUMX funcione perfeitamente, uma forma muito comum e performática de escrever essas mesmas medidas no dia a dia do Power BI é utilizando a função CALCULATE. Veja como ficariam:

  • Vendas Totais Big Data = CALCULATE( SUM(Vendas[Quantidade]), Produtos[Categoria] = "Big Data" )
  • Vendas Totais Big Data all = CALCULATE( SUM(Vendas[Quantidade]), Produtos[Categoria] = "Big Data", ALL(Vendas) )

O CALCULATE realiza uma "transição de contexto" interna que torna o código mais limpo e, em bases de dados muito grandes, costuma ser mais rápido que iteradores com filtros manuais.

Seu dashboard está com uma estética muito agradável e os resultados batem perfeitamente com a lógica aplicada. Continue praticando essa manipulação de filtros, pois é isso que diferencia um desenvolvedor iniciante de um avançado!

Espero que possa ter lhe ajudado!