Skip to content
Support Formation DAX
  • Pages
    • Présentation du support
      • Organisation des formations Power BI
      • Ressources
      • Bonnes pratiques
        • DAX pour la présentation
        • Rapport dynamique avec des segments déconnectés
        • icon picker
          Conserver un filtre même absent du visuel
        • Optimisation
      • Leçons [WIP]
    • Principes du DAX
      • Formalisme
      • Saisir du DAX (Excel, Power BI)
      • Trois modalités de création de formules DAX
      • Quatre+ concepts de base
      • Les contextes
      • Modèle de données & DAX
    • Fonctions de filtres
      • CALCULATE
        • Bonnes pratiques de filtre avec CALCULATE
        • Résumé des modificateurs de filtre
      • REMOVEFILTERS / KEEPFILTERS
        • ALL
      • FILTER
      • ALLSELECTED
      • ALLEXCEPT
      • VALUES / DISTINCT
      • CALCULATETABLE / RELATEDTABLE
      • SELECTCOLUMNS
      • SELECTEDVALUE
      • EARLIER
    • Fonctions d'informations
      • HASONEVALUE / ISINSCOPE
      • ISFILTERED (Titre dynamique)
    • Fonctions de regroupements
      • ADDCOLUMNS / SUMMARIZE / SUMMARIZECOLUMNS
      • GROUPBY / CURRENTGROUP
      • GENERATE / ROW
    • Fonctions de relations
      • Sans relation dans le modèle
        • TREATAS
        • INTERSECT (avant Fév. 2017)
        • CROSSJOIN
        • USERELATIONSHIP
      • Avec relation dans le modèle
        • CROSSFILTER
        • LOOKUPVALUE
        • RELATED [WIP]
        • RELATEDTABLE
    • Fonctions d'agrégation
      • SUMX
      • MAXX
      • RANKX
      • TOPN
    • Gestion des dates
      • Tables de dates
        • Marquer les tables de type Calendrier en table de date
      • DATEADD vs PARALLELPERIOD vs SAMEPERIODELASTYEAR
      • DATESINPERIOD vs DATEBETWEEN
      • Moyenne mobile
      • Cumul (TotalYTD)
      • DateYTD
      • Année fiscale
      • Dates précédentes
    • Fonctions de texte
      • CONCATENATEX
    • Fonctions de math
      • MROUND
    • Outils complémentaires
      • DAX Studio
      • Groupes de calculs
    • Bonnes pratiques
      • Performance
      • Lisibilité et maintenabilité

Conserver un filtre même absent du visuel

Nous allons utiliser VALUES ou SUMMARIZE après un REMOVEFILTERS, ALL ou ALLEXCEPT.
Contexte : Nous voulons calculer le % que représente les ventes d’un produit dans sa catégorie. Ici les “Montain Bikes” représentent 38,52 % des ventes de sa catégorie :
image.png
Si nous supprimons le champ Category du visuel, nous obtenons 33,19 %, ce qui représente le % sur le total des ventes, et non sur la catégorie. Notre colonne PercentCategory ne renvoie donc pas le bon résultat :
image.png
Nous avons utilisé ALLEXCEPT, qui supprime le filtre appliqué à la colonne Category. On aurait pu utiliser REMOFILTERS ou ALL, le résultat aurait été le même (pas bon donc) :
DEFINE
MEASURE Sales[PercentCategory] =
VAR TotalCategory = CALCULATE(
Sales[Total Sales],
ALLEXCEPT('Product', 'Product'[Category]),
)
RETURN
DIVIDE( Sales[Total Sales], TotalCategory)

Il nous faut ajouter un filtre avec VALUES :
DEFINE
MEASURE Sales[PercentCategory] =
VAR TotalCategory = CALCULATE(
Sales[Total Sales],
ALLEXCEPT('Product', 'Product'[Category]),
VALUES('Product'[Category])
)
RETURN
DIVIDE( Sales[Total Sales], TotalCategory)

CALCULATE supporte plusieurs filtres, chaque filtre étant appliqué SUCCESSIVEMENT : on enlève tous les filtres sur la colonne Category puis on filtre sur la liste des Category.
La colonne contient désormais le % des ventes par catégorie, quelques soit le filtre appliqué dans le visuel.
image.png


Want to print your doc?
This is not the way.
Try clicking the ··· in the right corner or using a keyboard shortcut (
CtrlP
) instead.