PaliSkill
Power BI

Leçon 4 / 10 — Chapitre 7: DAX : CALCULATE et le contexte de filtre

FILTER : une condition sur une table

FILTER( table, condition ) renvoie une table : les lignes de table pour lesquelles condition est vraie. Elle s'utilise dans CALCULATE, ou dans un itérateur.

Cas où FILTER est nécessaire :

  • condition sur une mesure : CALCULATE( COUNTROWS(Produits), FILTER( Produits, [CA Produit] > 1000 ) ) — nombre de produits dont le CA dépasse 1 000. Un argument simple ne peut pas tester [CA Produit].
  • comparaison entre deux colonnes : FILTER( Ventes, Ventes[Montant] > Ventes[Objectif ligne] ).
  • condition complexe combinant plusieurs colonnes de façon non triviale.

Coût et bonne pratique : FILTER parcourt la table entière. On lui passe la plus petite table possible : FILTER( Produits, ... ) plutôt que FILTER( Ventes, ... ) si la condition porte sur des attributs de produit. Et on évite FILTER quand un argument simple suffit — CALCULATE( SUM(...), Produits[Catégorie]="Boissons" ) est préférable à CALCULATE( SUM(...), FILTER( Produits, Produits[Catégorie]="Boissons" ) ).

À retenir

  • FILTER(table, condition) renvoie les lignes vraies ; s'utilise dans CALCULATE ou un itérateur.
  • Nécessaire pour tester une mesure, comparer deux colonnes, ou une condition complexe.
  • Lui passer la plus petite table possible ; préférer un argument simple quand il suffit.

À vous de jouer : pour compter les produits dont la mesure [CA Produit] dépasse 1 000, peut-on utiliser un argument de filtre simple dans CALCULATE, ou faut-il FILTER ?

🔒

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