Excel DAX - Fonctions de filtrage

DAX a de puissants filter functionsqui sont assez différentes des fonctions Excel. Les fonctions de recherche fonctionnent à l'aide de tables et de relations, comme une base de données. Les fonctions de filtrage vous permettent de manipuler le contexte des données pour créer des calculs dynamiques.

Note- Les fonctions de filtre DAX qui renvoient une table n'ajoutent pas la table au modèle de données. La table résultante est utilisée comme argument dans une autre fonction DAX. Autrement dit, ces fonctions DAX sont utilisées comme fonctions imbriquées avec d'autres fonctions DAX.

Dans la section suivante, vous apprendrez quelles fonctions de filtre DAX vous pouvez utiliser. Pour plus de détails sur ces fonctions, reportez-vous au didacticiel - Fonctions DAX dans cette bibliothèque de didacticiels.

Fonctions de filtre DAX

Voici les fonctions de filtre DAX -

N ° Sr. Fonction DAX et à quoi sert la fonction?
1

ADDMISSINGITEMS (<showAllColumn>, [<showAllColumn>] …, <table>, <groupingColumn>, [<groupingColumn>] …, [filterTable] …)

Ajoute des combinaisons d'éléments de plusieurs colonnes à une table si elles n'existent pas déjà. La détermination des combinaisons d'éléments à ajouter est basée sur le référencement des colonnes source qui contiennent toutes les valeurs possibles pour les colonnes.

Pour déterminer les combinaisons d'éléments de différentes colonnes à évaluer -

  • AutoExist est appliqué aux colonnes de la même table.
  • CrossJoin est appliqué sur différentes tables.
2

ALL ( {<table> | <column>, [<column>], [<column>], … })

Renvoie toutes les lignes de la table donnée ou toutes les valeurs des colonnes spécifiées d'une table, en ignorant les filtres qui auraient pu être appliqués.

Cette fonction est utile pour effacer les filtres et créer des calculs sur toutes les lignes d'une table.

3

ALLEXCEPT (<table>, <column>, [<column>], …)

Supprime tous les filtres de contexte de la table à l'exception des filtres qui ont été appliqués aux colonnes spécifiées comme arguments.

Par opposition à TOUTES, vous pouvez utiliser cette fonction lorsque vous souhaitez supprimer les filtres sur de nombreuses colonnes d'une table, mais pas toutes.

4

ALLNOBLANKROW (<table>|<column>)

À partir de la table parente d'une relation, renvoie -

  • toutes les lignes sauf les lignes vides, ou
  • toutes les valeurs distinctes d'une colonne sauf les lignes vides

La fonction ne tient pas compte des filtres de contexte qui pourraient exister.

5

ALLSELECTED ( [<tableName>|<columnName>] )

Supprime les filtres de contexte des colonnes et des lignes de la requête actuelle, tout en conservant tous les autres filtres de contexte ou filtres explicites.

6

CALCULATE (<expression>, [<filter1>, <filter2> …)]

Évalue une expression dans un contexte modifié par les filtres spécifiés.

Renvoie la valeur qui est le résultat de l'expression.

sept

CALCULATETABLE (<expression>, <filter1>, <filter2>, …)

Évalue une expression de table dans un contexte modifié par les filtres donnés.

Renvoie une table de valeurs.

8

CROSSFILTER (<columnName1>, <columnName2>, <direction>)

Spécifie la direction de filtrage croisé à utiliser dans un calcul pour une relation qui existe entre deux colonnes. Ne renvoie aucune valeur.

9

DISTINCT (<column>)

Renvoie une table à une colonne contenant les valeurs distinctes de la colonne spécifiée. En d'autres termes, les valeurs en double sont supprimées et seules les valeurs uniques sont renvoyées.

La colonne résultante est utilisée comme argument dans une autre fonction DAX.

dix

EARLIER (<column>, <number>)

Renvoie la valeur actuelle de la colonne spécifiée dans une passe d'évaluation externe de la colonne mentionnée spécifiée par le nombre.

11

EARLIEST (<column>)

Renvoie la valeur actuelle de la colonne spécifiée dans une passe d'évaluation externe de la colonne spécifiée.

12

FILTER (<table>, <filter>)

Renvoie une table qui contient uniquement les lignes filtrées.

FILTER est utilisé uniquement en tant que fonction incorporée dans d'autres fonctions qui nécessitent une table comme argument.

13

FILTERS (<columnName>)

Renvoie les valeurs qui sont directement appliquées en tant que filtres à columnName.

FILTERS est utilisé uniquement en tant que fonction incorporée dans d'autres fonctions qui nécessitent une table comme argument.

14

HASONEFILTER (<columnName>)

Renvoie TRUE lorsque le nombre de valeurs directement filtrées sur columnName est égal à un. Sinon, renvoie FALSE.

15

HASONEVALUE (<columnName>)

Renvoie TRUE lorsque le contexte de columnName a été filtré jusqu'à une seule valeur distincte. Sinon, renvoie FALSE.

16

ISCROSSFILTERED (<columnName>)

Renvoie TRUE lorsque columnName ou une autre colonne de la même table ou d'une table associée est filtré.

17

ISFILTERED (<columnName>)

Renvoie TRUE lorsque columnName est filtré directement. S'il n'y a pas de filtre sur la colonne ou si le filtrage se produit parce qu'une colonne différente dans la même table ou dans une table associée est filtrée, la fonction renvoie FALSE.

18

KEEPFILTERS (<expression>)

Modifie la façon dont les filtres sont appliqués lors de l'évaluation d'une fonction CALCULATE ou CALCULATETABLE.

19

RELATED (<column>)

Renvoie une valeur associée d'une autre table.

20

RELATEDTABLE (<tableName>)

Évalue une expression de table dans un contexte modifié par les filtres donnés.

21

SUBSTITUTEWITHINDEX (<table>, <indexColumnName>, <indexColumnTable>, <orderBy_expression>, [<order>])

Renvoie une table qui représente une demi-jointure gauche des deux tables fournies comme arguments.

La demi-jointure est effectuée à l'aide de colonnes communes, déterminées par les noms de colonne communs et le type de données commun.

Les colonnes jointes sont remplacées par une seule colonne dans la table renvoyée qui est de type entier et contient un index.

L'index est une référence dans la table de jointure droite selon un ordre de tri spécifié.

22

USERELATIONSHIP ( <columnName1>,<columnName2>)

Spécifie la relation à utiliser dans un calcul spécifique comme celle qui existe entre columnName1 et columnName2.

23

VALUES (<TableNameOrColumnName>)

Renvoie une table à une colonne contenant les valeurs distinctes de la table ou de la colonne spécifiée.

En d'autres termes, les valeurs en double sont supprimées et seules les valeurs uniques sont renvoyées.