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
        • 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
      • icon picker
        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é
Ajoute, supprime et modifie le contexte de filtre.
Name_Color_Transport.xlsx
128.2 kB
CALCULATE (
<expression>,
<filter1>,
...
<filterN>
)
<filter> peut être :
une valeur logique (= qui renvoi Vrai ou Faux)
une expression de table, qui supprime les filtres déjà appliqués sur les colonnes retournées par l’expression de table.
Sales2007=
CALCULATE (
SUM ( Sales[Sales Amount] ),
OrderDate[Year] = 2007
)
CALCULATE réalise 4 actions :
Supprime le filtre appliqué sur la colonne Year de la table OrderDate.
Conserve tous les autres filtres qui seraient appliqués (sur la table Sales ou la table OrderDate ou toutes les autres tables qui filtreraient la mesure)
Filtre la table OrderDate quand la colonne Year = 2007
Somme la colonne SalesAmount

Ce qui donne :
Résultat de CALCULATE
Year
Sales2007
2005
600
2006
600
2007
600
There are no rows in this table

/!\ CALCULATE résout l’argument 2 avant de l’appliquer au 1, contrairement aux autres fonctions)
Avec FILTER, ALL et VALUES
CALCULATE(
COUNTROWS(Sales),
FILTER( ALL('Product'[Color]), 'Product'[Color] = "Black" ) )
Ignore/remplace les filtres de couleur existants
Définit un filtre sur Noir.
La ligne White affiche la valeur de Noir.
CALCULATE(
COUNTROWS(Sales),
FILTER( VALUES('Product'[Color]), 'Product'[Color]= "Black" ) )
Conserve les filtres de couleur existants
Ajoute un filtre supplémentaire sur le Noir.
Seule la valeur pour la ligne Noir est affichée, les autres lignes n’affichent aucune valeur.
CALCULATE(
COUNTROWS(Sales),
FILTER( ALL('Product'[Color]),
'Product'[Color] = “Black” ),
VALUES('Product'[Color]) )
Identique à l’expression précédente (conserve les filtres de couleur existants)
REMARQUE : le premier filtre prendrait en compte toutes les couleurs, mais la seconde expression (VALUES) ne considère que la sélection actuelle et les deux filtres seront considérés à l’aide d’une condition ET.
= CALCULATE(
COUNTROWS(Sales),
FILTER( ALL(Sales), 'Product'[Color] = "Black" ) )
Ignore/remplace les filtres sur toutes les colonnes de la table Sales,
Définit un filtre sur toutes les colonnes (Nom, Transport, etc., pas seulement Couleur)
Avec des lignes qui remplissent la condition.
There are no rows in this table

CALCULATE imbriquées

externes > internes.
CALCULATE (
CALCULATE (
[Measure],
ALL ( Customer[Country] )
),
KEEPFILTERS ( Customer[Country] = "Italy" )
)
C’est d’abord le CALCULATE externe (qui contient KEEPFILTERS ( Customer[Country] = "Italy" ) qui est d’abord exécuté).
Sinon dans les autres fonctions de filtre DAX : internes > externes .

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