Leçon 5 / 10 — Chapitre 7: DAX : CALCULATE et le contexte de filtre
ALL : retirer des filtres
ALL sert de modificateur de filtre dans CALCULATE : il retire un ou plusieurs filtres du contexte, pour élargir le calcul.
ALL(Produits): ignore tous les filtres sur la table Produits.ALL(Produits[Catégorie]): ignore seulement le filtre sur la colonne Catégorie.ALL(Ventes): ignore tous les filtres sur Ventes (rare, souvent trop large).
Usage phare — la part du total :
[% des ventes de la catégorie] =
DIVIDE(
SUM(Ventes[Montant]),
CALCULATE( SUM(Ventes[Montant]), ALL(Produits[Produit]) )
)
Le numérateur suit le contexte (un produit). Le dénominateur retire le filtre produit (mais garde la catégorie, l'année, le magasin) : c'est le total de la catégorie. Le rapport donne la part du produit dans sa catégorie.
Prévoir un résultat. Sur un tableau par produit, filtré sur « Boissons » (total boissons = 4 000), un produit à 1 000 :
- numérateur = 1 000 ; dénominateur =
CALCULATE(SUM, ALL(Produit))= 4 000 (catégorie conservée) ; - résultat = 0,25, soit 25 %.
À retenir
ALL(table)ouALL(table[colonne])retire des filtres dans unCALCULATE.- Retirer le filtre d'un niveau et garder les autres = calcul d'une part du total.
ALL(Ventes)(toute la table de faits) est souvent trop large : cibler la colonne.
À vous de jouer : tableau par produit filtré sur « Boissons » (total boissons 4 000). Pour un produit à 1 000, DIVIDE( SUM(Ventes[Montant]), CALCULATE( SUM(Ventes[Montant]), ALL(Produits[Produit]) ) ) renvoie quel pourcentage ?
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