1
resposta

[Dúvida] Mão na massa: criando medidas com funções iteradoras.

Em uma primeira situação eu realizei o desafio utilizando a medida antes calculada de "TOTAL VENDAS", que nada mais é que o resultado da formula SUMX() iterando na tabela e trazendo o total acumulado de cada venda, com isso eu somente multipliquei essa medida pelo valor de 0,9, que representa o percentual restante após a subtração do desconto. Depois utililzei a solução proposta e vi que o valor realmente foi igual, portanto qual dos dois casos é melhor para esse calculo? Essa dependênica de outras medidas no relatório pode ser algo prejudicial? OU não?

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

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

1 resposta

Olá, Luiz. Como vai?

Essa é uma dúvida excelente e toca em um ponto central sobre a arquitetura de cálculos no Power BI: a reutilização de medidas versus a performance.

Ambas as formas que você testou estão corretas e chegam ao mesmo resultado, mas existem motivos importantes para preferir uma ou outra dependendo da situação. Vou detalhar os pontos principais para te ajudar a decidir:

Reutilização de Medidas (Medidas Compostas)
Quando você usa uma medida dentro de outra (ex: [TOTAL VENDAS] * 0.9), você está praticando o que chamamos de Medidas Medidas.

  • Vantagem: Facilita a manutenção. Se a lógica do seu "Total Vendas" mudar no futuro, todas as outras medidas que dependem dela serão atualizadas automaticamente.
  • Contexto: Ao usar uma medida dentro de outra, o Power BI faz um processo chamado Context Transition (Transição de Contexto), transformando o contexto de linha em contexto de filtro.

Uso da SUMX Direta
Ao escrever a fórmula completa dentro da SUMX, como você fez na imagem (vendas[Quantidade] * vendas[PRECO] * 0.9), você está sendo mais explícito.

  • Vantagem: Em tabelas com milhões de linhas, fórmulas diretas podem ser levemente mais rápidas por evitarem a sobrecarga da transição de contexto repetitiva que as medidas compostas exigem.

A dependência de outras medidas é prejudicial?
De forma geral, não é prejudicial. Na verdade, é uma boa prática recomendada para manter o código limpo (princípio DRY - Don't Repeat Yourself). O impacto na performance só começa a ser percebido em modelos de dados muito grandes e complexos.

Dica Técnica: Qual escolher?

  • Se o seu modelo for de pequeno ou médio porte (milhares de linhas), priorize a reutilização de medidas pela facilidade de manutenção.
  • Se você notar lentidão no carregamento dos visuais em modelos gigantes, tente simplificar as iterações escrevendo a lógica diretamente na SUMX.

Outro ponto legal no seu código é o uso do 0.9. Para tornar o relatório mais dinâmico, você poderia substituir esse valor fixo por um Parâmetro de Campo ou uma variável, permitindo que o usuário escolha o percentual de desconto diretamente no dashboard!

Espero que possa ter lhe ajudado!