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 l'attestation finale.

8 000 XOF / 12,20 € / 13,29 $

Débloquez les 97 leçons restantes de ce module

Pour vous communiquer où envoyer le paiement.

Moyen de paiement souhaité

Nous vous contactons pour le paiement — activé dès réception.