1
resposta

[Projeto] Mao na massa - Calculate e Filter

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

1 resposta

Olá, Washington. Como vai?

Parabéns por mais essa entrega! É muito bacana ver você aplicando a função mais poderosa do DAX, a CALCULATE, em conjunto com a função FILTER.

Com base na imagem do código que você compartilhou, você estruturou uma medida que demonstra um entendimento avançado sobre como manipular contextos de filtro.


Análise Técnica da Medida

A sua fórmula utiliza uma combinação estratégica de funções para segmentar os dados:

  • CALCULATE: Você a utilizou como a função principal para modificar o contexto de filtro da medida de vendas totais.
  • FILTER: Ao usar essa função sobre a tabela de Vendas, você criou um contexto de linha para avaliar cada registro individualmente.
  • RELATED: Esta foi a chave para o sucesso da medida. Como a categoria está em uma tabela de Produtos, você usou a função para "puxar" essa informação para dentro do contexto da tabela de Vendas.
  • Operador Lógico || (OU): Você definiu corretamente que a medida deve somar os valores se a categoria for "Data Analytics" OU "Data Visualization".

Dica de Otimização

Embora sua fórmula esteja correta e funcione perfeitamente, o DAX permite simplificar filtros de colunas relacionadas diretamente dentro da CALCULATE sem a necessidade explícita da FILTER e da RELATED em muitos casos. Isso pode melhorar a performance em bases de dados muito grandes.

Você poderia escrever a mesma lógica desta forma:

TotalVendasCategoriasEspecificas = 
CALCULATE (
    [VendasTotal],
    Produtos[Categoria] IN { "Data Analytics", "Data Visualization" }
)

O operador IN com as chaves {} funciona como o seu ||, mas de uma forma mais concisa. Além disso, o Power BI faz o trabalho de "relacionar" as tabelas automaticamente através do relacionamento já existente no seu modelo de dados.

Sua organização no código está excelente, com uma indentação que facilita muito a leitura e manutenção. Continue praticando!

Espero que possa ter lhe ajudado!