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

KEEPFILTERS dans Power BI : le guide complet pour maîtriser vos filtres DAX

Introduction : Pourquoi s’intéresser à KEEPFILTERS() ?

En Power BI, le contrôle du contexte de filtre est au cœur de toute analyse performante. La fonction KEEPFILTERS() en DAX est souvent sous-utilisée, alors qu’elle peut transformer radicalement vos mesures et vos analyses.
Dans cet article, nous allons voir à quoi sert KEEPFILTERS, comment l’utiliser correctement, ses cas d’usage les plus puissants, ainsi que les pièges à éviter.


Qu’est-ce que KEEPFILTERS() en DAX ?

La fonction KEEPFILTERS() permet de conserver les filtres déjà appliqués sur une colonne ou une table lorsqu’on utilise une fonction comme CALCULATE() ou FILTER().
Sans KEEPFILTERS(), un nouveau filtre écrase généralement les filtres existants. Avec KEEPFILTERS(), ces filtres sont cumulés, permettant une analyse plus précise et ciblée.

Syntaxe :

DAX
 
KEEPFILTERS(<table>)

Pourquoi utiliser KEEPFILTERS dans Power BI ?

L’intérêt principal de KEEPFILTERS est d’affiner votre contexte d’évaluation plutôt que de le remplacer.
Cela permet notamment :

  • D’analyser des sous-segments précis sans perdre vos filtres existants.

  • De créer des KPI avancés qui tiennent compte de plusieurs conditions simultanément.

  • De rendre vos rapports interactifs plus robustes, même avec de multiples slicers et filtres croisés.


Cas pratiques d’utilisation de KEEPFILTERS()

1. Comparaison de ventes sur un segment précis avec un filtre temporel

Imaginons que vous vouliez mesurer les ventes d’un produit spécifique sur un mois donné, tout en conservant un filtre de segment de marché déjà actif :

DAX
VentesProduitSegment = CALCULATE( SUM(Ventes[Montant]), KEEPFILTERS(Produits[Nom] = "Produit A"), Mois[Numéro] = 5 )

Ici, le filtre sur le segment reste actif grâce à KEEPFILTERS().


2. KPI ciblé conservant des filtres multiples

Vous pouvez aussi l’utiliser pour créer un KPI affichant uniquement les performances d’un commercial sur sa région, tout en gardant un filtre sur une catégorie de produit.


3. Gestion d’interactions complexes dans un rapport

Dans des modèles où plusieurs visuels interagissent, KEEPFILTERS() empêche qu’un filtre d’un visuel écrase complètement celui d’un autre.


Points d’attention et pièges à éviter

  • Résultats vides : si vos filtres sont trop restrictifs, KEEPFILTERS() peut conduire à un jeu de données vide.

  • Complexité inutile : n’utilisez pas KEEPFILTERS() si le comportement par défaut est suffisant.

  • Confusion avec FILTER() : FILTER() crée un filtre, KEEPFILTERS() conserve les filtres existants. Ils peuvent être combinés, mais il faut comprendre leur différence.


Bonnes pratiques pour utiliser KEEPFILTERS

  1. Toujours tester vos mesures avant et après l’ajout de KEEPFILTERS pour vérifier l’impact.

  2. Documenter vos choix dans la mesure pour éviter les malentendus lors de la maintenance du rapport.

  3. Limiter les filtres combinés afin d’éviter des temps de calcul trop longs.


Conclusion : KEEPFILTERS, un outil puissant pour les experts DAX

La fonction KEEPFILTERS() n’est pas indispensable pour tous les rapports Power BI, mais dans des modèles complexes elle peut faire la différence entre un rapport approximatif et une analyse stratégique.
Si vous travaillez avec des tableaux de bord interactifs et multi-filtres, maîtriser KEEPFILTERS() est un vrai atout.


📹 Ressource vidéo

Retrouvez ma vidéo complète sur KEEPFILTERS() dans Power BI ici :
👉 Voir la formation Power BI – Fonction KEEPFILTERS()


Mots-clés SEO : KEEPFILTERS Power BI, fonction KEEPFILTERS DAX, tutoriel KEEPFILTERS, comprendre KEEPFILTERS, filtrage avancé Power BI, DAX avancé, optimisation filtre Power BI.


Si tu veux, je peux aussi te préparer une version avec balisage HTML optimisé SEO (H1, H2, meta-description, schema.org) pour ton site WordPress ou blog.
Veux-tu que je te fasse cette version prête à publier ?

 

Découvrez nos formations en ligne

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

0