(+351) 21 24 10006  ·  info@bconcepts.pt
Carnaxide, Lisboa
DAX: a diferença entre SUM e SUMX explicada com exemplos
Power BI

DAX: a diferença entre SUM e SUMX explicada com exemplos

Equipa bConcepts 08/11/2023 2 min

Em DAX, duas funções parecem fazer o mesmo mas escondem uma diferença fundamental: SUM e SUMX. Escolher a errada dá totais errados — e o pior é que muitas vezes o erro passa despercebido. Perceber quando usar cada uma é um marco no domínio do DAX.

SUM: somar uma coluna

O SUM soma os valores de uma única coluna que já existe. SUM(Vendas[Valor]) devolve o total da coluna Valor. Simples e direto — quando o número que queres já está numa coluna, é este que usas.

DAX: a diferença entre SUM e SUMX explicada com exemplos

SUMX: calcular linha a linha e depois somar

O SUMX é um "iterador": percorre a tabela linha a linha, calcula uma expressão em cada uma, e só depois soma tudo. SUMX(Vendas, Vendas[Quantidade] * Vendas[Preco]) multiplica quantidade por preço em cada linha e soma os resultados.

A diferença que muda o resultado

O erro clássico é fazer SUM(Quantidade) * SUM(Preco) para obter a receita total. Isso multiplica dois totais e dá um número completamente errado. O correto é o SUMX: multiplicar linha a linha e só depois somar. A ordem das operações é tudo.

Quando usar cada um

  • SUM: quando o valor que queres já existe numa coluna pronta a somar.
  • SUMX: quando precisas de calcular algo em cada linha (multiplicar, condicionar) antes de somar.

O padrão vale para toda a família X

O DAX tem AVERAGEX, MAXX, MINX, COUNTX — todos iteradores com a mesma lógica: calculam linha a linha e depois agregam. Perceber o SUMX é perceber toda a família, uma das ideias mais importantes do DAX.

Na prática

Sempre que precises de um cálculo que envolva mais do que uma coluna por linha, pensa em SUMX, não em SUM de colunas separadas. Este cuidado evita totais errados que ninguém deteta até ser tarde. Os teus cálculos de receita multiplicam linha a linha, ou somam colunas separadas?

← Voltar aos insights
Vamos conversar?

Pronto para transformar os seus dados?

Marque uma reunião gratuita de 30 minutos e descubra como podemos ajudar a sua equipa a tomar melhores decisões.

Agendar Reunião Gratuita
bConcepts