Leçon 6 / 10 — Chapitre 6: DAX : colonnes, mesures et contextes
Les fonctions d'itération (SUMX et compagnie)
Les fonctions en X (SUMX, AVERAGEX, MAXX, COUNTX…) prennent deux arguments : une table à parcourir, et une expression évaluée pour chaque ligne. Puis elles agrègent les résultats.
SUMX(Ventes, Ventes[Prix] * Ventes[Quantité]) :
- parcourt chaque ligne de
Ventes(contexte de ligne :PrixetQuantitésont ceux de la ligne) ; - calcule
Prix * Quantitépour cette ligne ; - additionne tous ces résultats.
Quand un itérateur est nécessaire : quand le calcul doit se faire ligne par ligne avant d'être agrégé. Prix * Quantité n'a de sens que par ligne — multiplier la somme des prix par la somme des quantités donnerait un résultat faux.
Quand une agrégation simple suffit : s'il existe déjà une colonne Montant correcte par ligne, SUM(Ventes[Montant]) fait le travail sans itérateur.
Coût : un itérateur parcourt toutes les lignes ; sur une grosse table de faits, préférer une colonne (Power Query ou colonne calculée) quand l'expression est simple et réutilisée partout.
À retenir
- Fonctions en X : (table, expression par ligne) puis agrégation.
- Indispensables quand le calcul par ligne précède l'agrégation (prix × quantité).
- Inutiles si une colonne déjà correcte existe :
SUMsuffit.
À vous de jouer : pour totaliser le chiffre d'affaires quand la table n'a que Prix et Quantité (pas de colonne Montant), faut-il SUM d'une colonne ou une fonction d'itération comme SUMX ?
Continuez ce module
Débloquez les leçons restantes ainsi que la certification finale.
2 500 XOF / 3,81 € / 4,15 $
Débloquez les 90 leçons restantes de ce module
Votre paiement est vérifié avant l'activation de l'accès