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.
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 :
KEEPFILTERS(<table>)
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.
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 :
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().
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.
Dans des modèles où plusieurs visuels interagissent, KEEPFILTERS() empêche qu’un filtre d’un visuel écrase complètement celui d’un autre.
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.
Toujours tester vos mesures avant et après l’ajout de KEEPFILTERS pour vérifier l’impact.
Documenter vos choix dans la mesure pour éviter les malentendus lors de la maintenance du rapport.
Limiter les filtres combinés afin d’éviter des temps de calcul trop longs.
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.
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 ?