top of page
Rechercher

SUM dans Power BI : additionner une colonne en DAX

  • Groupe Kronoscope
  • 16 août
  • 4 min de lecture

SUM additionne toutes les valeurs d'une colonne. C'est la première fonction DAX que l'on écrit dans Power BI.

Sa syntaxe tient en une ligne. Son résultat, lui, dépend entièrement du contexte du visuel.


Prenons une table Ventes qui contient cinq lignes.

  • Vélo — 8 200 €

  • Vélo — 4 200 €

  • Casque — 3 100 €

  • Antivol — 900 €

  • Antivol — 600 €


La mesure CA = SUM ( Ventes[Montant] ) additionne ces cinq montants.

8 200 + 4 200 + 3 100 + 900 + 600 = 17 000 €.


Dans une carte, elle affiche 17 000 €.

Dans un tableau par produit, elle affiche 12 400 €, 3 100 € et 1 500 €.

La formule est identique. Seul le contexte a changé.




À quoi sert la fonction SUM dans Power BI

SUM additionne tous les nombres d'une colonne. C'est une fonction d'agrégation simple.

Elle s'utilise dans une mesure, une colonne calculée, une table calculée ou un calcul visuel.

Elle renvoie un nombre décimal.

La syntaxe de SUM

Syntaxe

SUM ( <colonne> )

Un seul argument, et cet argument est toujours une référence de colonne.

L'argument doit être une colonne du modèle. Trois écritures très courantes échouent.

  • SUM ( Ventes[Qte] * Ventes[PU] ) : une expression n'est pas acceptée.

  • SUM ( [CA] ) : une mesure ne peut pas être additionnée.

  • SUM ( Ventes ) : la table seule ne suffit pas, il manque la colonne.

Pour additionner un calcul ligne à ligne, il faut SUMX.


SUM Power BI DAX : ce qui fonctionne et ce qui provoque des erreur


Ce que SUM ignore silencieusement

SUM ne lit que les nombres. Les cellules vides, le texte et les booléens sont écartés.

Aucun message ne le signale.

Autre cas limite : si aucune ligne n'est visible, SUM renvoie BLANK.

Ce n'est pas zéro. La ligne disparaît alors du visuel.

Pour forcer l'affichage, ajoutez + 0 à la mesure.



Mesure ou colonne calculée : où écrire SUM

Le même code donne deux résultats opposés selon l'endroit où vous l'écrivez.

SUM dans une colonne calculée recopie le total

Une colonne calculée s'évalue ligne par ligne, au moment de l'actualisation.

Mais SUM ignore le contexte de ligne. Il additionne toute la colonne.

Chaque ligne reçoit donc la même valeur : le total général.

C'est presque toujours une erreur de conception.

Pour un calcul ligne à ligne, référencez directement les colonnes, sans SUM.



Agrégation implicite ou mesure explicite

Glisser un champ numérique dans un visuel déclenche une agrégation implicite.

Power BI applique une somme automatique. Le résultat affiché est correct.

Mais la logique de calcul n'est écrite nulle part.

Une mesure explicite porte un nom, un format et une définition unique.

Elle se réutilise, se combine avec CALCULATE et se documente.

Les groupes de calcul, eux, ignorent purement et simplement les agrégations implicites.



SUM et le contexte de filtre : une mesure, trois résultats

Une mesure ne renvoie jamais une valeur fixe. Elle renvoie une valeur par contexte.

Reprenons la mesure CA de notre exemple.

  • Dans une carte, sans filtre : 17 000 €.

  • Dans un tableau par produit, ligne Vélo : 12 400 €.

  • Avec un segment sur le mois de mars : les seules ventes de mars.

SUM n'a rien changé. Le visuel a filtré la table avant le calcul.


Modifier le filtre avec CALCULATE

CA Vélo =
CALCULATE (
    SUM ( Ventes[Montant] ),
    Produits[Gamme] = "Vélo"
)

CALCULATE évalue SUM dans un contexte de filtre modifié.

Piège classique : ce filtre remplace celui du visuel sur la même colonne.

Il ne s'y ajoute pas. Le résultat surprend souvent en ligne de tableau.


Pourquoi le total d'une mesure SUM est toujours juste

SUM est une agrégation additive. Le total égale la somme des lignes affichées.

Ce n'est pas vrai de toutes les fonctions d'agrégation.

DISTINCTCOUNT, par exemple, ne s'additionne pas d'un mois sur l'autre. Le détail est expliqué dans notre article sur la fonction DISTINCTCOUNT.



SUM ou SUMX : le test qui tranche

Une seule question sépare les deux fonctions.

La valeur à additionner existe-t-elle déjà dans une colonne ?

  • Oui : utilisez SUM.

  • Non, elle se calcule ligne à ligne : utilisez SUMX.

Le cas le plus fréquent est la quantité multipliée par le prix unitaire.

-- Faux
CA = SUM ( Ventes[Quantite] ) * SUM ( Ventes[PrixUnitaire] )

-- Juste
CA = SUMX ( Ventes, Ventes[Quantite] * Ventes[PrixUnitaire] )

La première écriture multiplie deux totaux. Le résultat n'a aucun sens métier.

La seconde calcule chaque ligne, puis additionne les résultats.

SUMX a un coût : il parcourt la table ligne à ligne.

Sur des volumes importants, préparez plutôt la colonne dans Power Query.



Les pièges de SUM rencontrés en production

Additionner ce qui ne s'additionne pas

SUM accepte toute colonne numérique. Le sens métier, lui, ne suit pas toujours.

  • Prix unitaires : leur somme ne représente rien.

  • Taux et pourcentages : ils se recalculent avec DIVIDE.

  • Stocks et effectifs à date : ils ne s'additionnent pas dans le temps.

Ces indicateurs demandent une mesure semi-additive, pas une somme.


Une colonne numérique stockée en texte

Un import CSV ou un export comptable ramène souvent des nombres en texte.

SUM refuse alors la colonne.

Corrigez le type dans Power Query, donc à la source.

Convertir avec VALUE en DAX masque le problème sans le régler.


Bon à savoir

Vérifiez le type de la colonne avant d'écrire SUM. Une colonne texte se corrige dans Power Query, jamais dans le visuel.


À retenir

SUM additionne une colonne, rien d'autre. Écrivez-la dans une mesure, pas dans une colonne calculée.



Questions fréquentes sur la fonction SUM

SUM peut-il additionner deux colonnes ?

Non. Écrivez SUM ( a ) + SUM ( b ), ou passez par SUMX.

SUM renvoie-t-il zéro quand il n'y a aucune donnée ?

Non, il renvoie BLANK. Ajoutez + 0 pour afficher un zéro.

SUM fonctionne-t-il en DirectQuery ?

Oui. C'est même l'agrégation la mieux traduite en SQL.

Faut-il écrire SUM ou CALCULATE ( SUM (...) ) ?

SUM suffit tant qu'aucun filtre ne doit être modifié.

 
 
bottom of page