FILTER
s’applique à :colonne calculéetable calculéemesurecalcul visuel
Retourne une table qui représente un sous-ensemble d’une autre table ou expression.
Syntaxe
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 en tant que 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.
Utilisez 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 :
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
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 $ |
SUMX(FILTER('InternetSales_USD', RELATED('SalesTerritory'[SalesTerritoryCountry])<>"United States")
,'InternetSales_USD'[SalesAmount_USD])