Promotion pour les nouveaux apprenants : -20 % sur toutes nos formations et abonnements avec le code MEFORMER20

🧠 Power BI : Quelle est la différence entre SUM et SUMX en DAX ? Explication complète avec exemples

Dans l’univers de Power BI, deux fonctions DAX posent souvent question aux utilisateurs : SUM et SUMX. Bien qu’elles semblent similaires au premier abord, leur fonctionnement diffère en profondeur. Et cette différence peut totalement changer les résultats de vos calculs.

Dans cet article, nous allons comparer SUM vs SUMX, expliquer quand utiliser l’une plutôt que l’autre, et illustrer cela avec des cas concrets. Si vous êtes analyste, développeur Power BI ou en formation DAX, cet article est fait pour vous.


🔎 SUM vs SUMX : quelle différence dans Power BI ?

✔️ La fonction SUM : agrégation simple

La fonction SUM() permet de faire la somme d’une colonne. Elle est rapide et efficace, mais limite dès que l’on veut introduire une logique conditionnelle ou des calculs intermédiaires.

Exemple :

DAX
Total Ventes = SUM(FactVentes[Montant])

✔️ La fonction SUMX : agrégation personnalisée ligne par ligne

À l’inverse, SUMX() est une fonction itérative : elle parcourt une table ligne par ligne, évalue une expression DAX pour chaque ligne, puis en somme les résultats.

Exemple :

DAX
Total Ventes Pondérées = SUMX(FactVentes, FactVentes[Prix] * FactVentes[Quantité])

Ici, on fait une multiplication personnalisée pour chaque ligne, ce que SUM ne permet pas.


🤯 Quand faut-il utiliser SUMX() à la place de SUM() ?

  • Lorsque vous avez besoin de faire des calculs sur plusieurs colonnes.

  • Quand vous souhaitez pondérer une somme (ex : pondérer les ventes par un coefficient).

  • Si vous devez intégrer des conditions logiques dans la mesure.

  • Dans les modèles complexes avec plusieurs tables liées.


💡 Cas pratiques : SUM vs SUMX dans des dashboards Power BI

1. Calcul de la marge brute par produit

DAX
Marge = SUMX(FactVentes, FactVentes[Montant] - FactVentes[Coût])

SUM() ne peut pas faire cette soustraction ligne par ligne.


2. Score pondéré par catégorie

DAX
Score Pondéré = SUMX(FaitsScores, FaitsScores[Score] * FaitsScores[Pondération])

Indispensable pour des KPI basés sur des pondérations dynamiques.


3. Erreurs fréquentes à éviter

  • Utiliser SUM() au lieu de SUMX() quand le calcul nécessite une expression DAX.

  • Oublier le bon contexte de filtre (ex. : calculs croisés entre tables).

  • Mauvaise compréhension de l’ordre d’évaluation dans les modèles DAX.


🎥 Pour aller plus loin : vidéo explicative SUM vs SUMX

Une vidéo complète est disponible pour illustrer tout cela avec des démonstrations pratiques dans Power BI.

Découvrez nos formations en ligne

Nouveaux apprenants : -20 % sur nos formations avec le code MEFORMER20