Lire en anglais

Partager via


FILTRE

s’applique à :colonne calculéetable calculéemesurecalcul visuel

Retourne une table qui représente un sous-ensemble d’une autre table ou expression.

Syntaxe

DAX
FILTER(<table>,<filter>)  

Paramètres

Terme Définition
table Table à filtrer. La table peut également être une expression qui génère une table.
filter Expression booléenne à évaluer pour chaque ligne de la table. Par exemple, [Amount] > 0 ou [Region] = "France"

Valeur de retour

Table contenant uniquement les lignes filtrées.

Remarques

  • Vous pouvez utiliser FILTER pour réduire le nombre de lignes de la table avec laquelle vous travaillez et utiliser uniquement des données spécifiques dans les calculs. FILTER n’est pas utilisé indépendamment, mais comme fonction incorporée dans d’autres fonctions qui nécessitent une table en tant qu’argument.

  • Pour connaître les meilleures pratiques lors de l’utilisation de FILTER, consultez Éviter d’utiliser FILTER en tant qu’argument de filtre.

Utiliser COUNTROWS au lieu de COUNT dans DAX

  • Cette fonction n’est pas prise en charge pour une utilisation en mode DirectQuery lorsqu’elle est utilisée dans les colonnes calculées ou les règles de sécurité au niveau des lignes (RLS).

Exemple

L’exemple suivant crée un rapport sur les ventes Internet en dehors des États-Unis à l’aide d’une mesure qui filtre les ventes aux États-Unis, puis le découpage par année civile et les catégories de produits. Pour créer cette mesure, vous filtrez la table, Internet Sales USD, à l’aide de Sales Territory, puis utilisez la table filtrée dans une fonction SUMX.

Dans cet exemple, l’expression :

DAX
FILTER('InternetSales_USD', RELATED('SalesTerritory'[SalesTerritoryCountry])<>"United States")

Retourne une table qui est un sous-ensemble d’Internet Sales moins toutes les lignes appartenant au territoire de vente des États-Unis. La fonction RELATED est ce qui lie la clé Territory dans la table Internet Sales à SalesTerritoryCountry dans la table SalesTerritory.

Le tableau suivant illustre la preuve de concept de la mesure, NON USA Internet Sales, la formule pour laquelle elle est fournie dans la section de code ci-dessous. Le tableau compare toutes les ventes Internet aux ventes internet non-USA, pour montrer que l’expression de filtre fonctionne, en excluant les ventes des États-Unis du calcul.

Pour recréer cette table, ajoutez le champ SalesTerritoryCountry au Étiquettes de lignes zone d’un rapport ou d’un tableau croisé dynamique.

Tableau 1. Comparaison des ventes totales pour les États-Unis et toutes les autres régions

Étiquettes de ligne Internet Sales Ventes internet non américaines
Australie 4 999 021,84 $ 4 999 021,84 $
Canada 1 343 109,10 $ 1 343 109,10 $
France 2 490 944,57 $ 2 490 944,57 $
Allemagne 2 775 195,60 $ 2 775 195,60 $
Royaume-Uni 5 057 076,55 $ 5 057 076,55 $
États-Unis 9 389 479,79 $
Total général 26 054 827,45 $ 16 665 347,67 $

Le tableau de rapport final affiche les résultats lorsque vous créez un tableau croisé dynamique à l’aide de la mesure, NON USA Internet Sales. Ajoutez le champ CalendarYear au étiquettes de ligne zone du tableau croisé dynamique et ajoutez le champ ProductCategoryName à la zone étiquettes de colonne .

Tableau 2. Comparaison des ventes non américaines par catégories de produits

Étiquettes de ligne Accessoires Vélos Vêtement Total général
2005 1 526 481,95 $ 1 526 481,95 $
2006 3 554 744,04 $ 3 554 744,04 $
2007 156 480,18 $ 5 640 106,05 $ 70 142,77 $ 5 866 729,00 $
2008 228 159,45 $ 5 386 558,19 $ 102 675,04 $ 5 717 392,68 $
Total général 384 639,63 $ 16 107 890,23 $ 172 817,81 $ 16 665 347,67 $
DAX
SUMX(FILTER('InternetSales_USD', RELATED('SalesTerritory'[SalesTerritoryCountry])<>"United States")  
     ,'InternetSales_USD'[SalesAmount_USD])  

fonctions de filtre
fonction ALL
fonction ALLEXCEPT