Partager via


Fonction ISFILTERED (DAX)

Retourne TRUE lorsque columnName est filtré directement. S'il n'y a aucun filtre sur la colonne ou si le filtrage se produit parce qu'une autre colonne de la même table ou d'une table associée est filtrée, la fonction retourne FALSE.

Syntaxe

ISFILTERED(<columnName>)

Paramètres

  • columnName
    Nom d'une colonne existante, dans la syntaxe DAX standard. Il ne peut pas s'agir d'une expression.

Valeur de retour

TRUE lorsque columnName est filtré directement.

Notes

  • La colonne columnName est dite filtrée directement lorsque le ou les filtres s'appliquent à la colonne ; une colonne est dite colonne de filtrage croisé lorsqu'un filtre est appliqué à une autre colonne de la même table ou d'une table associée, et qu'il affecte la colonne columnName en la filtrant également.

  • La fonction associée Fonction ISCROSSFILTERED (DAX) retourne TRUE lorsque columnName ou une autre colonne de la même table ou d'une table associée est filtrée.

Exemple

L'exemple suivant crée une mesure, puis présente différents scénarios pour expliquer le comportement de ISFILTERED(). Il est possible de suivre les scénarios en téléchargeant la feuille de calcul des exemples de données DAX (Data Analysis Expressions).

En premier lieu, créez la mesure suivante [Is ProductName Filtered directly] dans la table [Product].

=ISFILTERED(Product[ProductName])

Fonctionnement de ISFILTERED() :

  1. Une fois que vous avez créé la mesure, le tableau croisé dynamique doit montrer que [Is ProductName Filtered directly] est FALSE, car l'expression n'est pas du tout filtrée. À présent, vous devez obtenir quelque chose qui ressemble à ceci :

    Is ProductName Filtered directly

    FALSE

    Si rien ne s'affiche dans le tableau croisé dynamique, faites glisser [Is ProductName Filtered directly] vers la zone Valeurs.

  2. Faites glisser ProductCategory[ProductCategoryName] vers la zone Étiquettes de ligne ; toutes les valeurs doivent être encore FALSE et votre table doit ressembler à ce qui suit :

    Étiquettes de ligne

    Is ProductName Filtered directly

    Accessories

    FALSE

    Bikes

    FALSE

    Clothing

    FALSE

    Components

    FALSE

    FALSE

    Total général

    FALSE

    La raison pour laquelle la table contient des valeurs FALSE est due au fait que ProductCategory[ProductCategoryName] effectue un filtrage indirect ou un filtrage croisé de Product[ProductName], mais qu'il ne s'agit pas d'un filtre direct sur la colonne.

  3. Faites glisser Product[Status] vers la zone Étiquettes de colonne ; toutes les valeurs doivent être encore FALSE et votre table doit ressembler à ce qui suit :

    Is ProductName Filtered directly

    Étiquettes de colonne

    Étiquettes de ligne

    Current

    Total général

    Accessories

    FALSE

    FALSE

    FALSE

    Bikes

    FALSE

    FALSE

    FALSE

    Clothing

    FALSE

    FALSE

    FALSE

    Components

    FALSE

    FALSE

    FALSE

    FALSE

    FALSE

    FALSE

    Total général

    FALSE

    FALSE

    FALSE

    La table a encore de nombreuses valeurs FALSE, car Product[Status] ne filtre pas Product[Name] directement.

  4. La dernière étape de ce processus consiste à faire glisser Product[Name] vers la zone Filtre de rapport. À ce stade, rien n'a changé ; toutefois, dès que vous sélectionnez un nom de produit, les valeurs de la table doivent devenir TRUE. Selon le produit que vous avez sélectionné, votre table doit ressembler à ceci :

    ProductName

    Mountain-400-W Silver, 38

    Is ProductName Filtered directly

    Étiquettes de colonne

    Étiquettes de ligne

    Current

    Total général

    Accessories

    TRUE

    TRUE

    Bikes

    TRUE

    TRUE

    Clothing

    TRUE

    TRUE

    Components

    TRUE

    TRUE

    TRUE

    TRUE

    Total général

    TRUE

    TRUE

  5. En conclusion, ISFILTERED() vous permet de déterminer si columnName est filtré directement dans le contexte où votre expression est évaluée.

Cet exemple utilise l'exemple de modèle de feuille de calcul DAX_AdventureWorks.

Voir aussi

Référence

Fonction ISCROSSFILTERED (DAX)

Fonction FILTERS (DAX)

Fonction HASONEFILTER (DAX)

Fonction HASONEVALUE (DAX)