Partager via


FILTER

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

Retourne une table qui représente un sous-ensemble d’une autre table or 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] > 0or[Region] = "France"

Retourner value

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, and utiliser uniquement des données spécifiques dans les calculs. FILTER est not 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 filter.

Utilisez COUNTROWS au lieu de COUNT dans DAX

  • Cette fonction est not prise en charge pour une utilisation en mode DirectQuery lorsqu’elle est utilisée dans les colonnes calculées or 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’un measure qui filters des ventes aux États-Unis, and ensuite découper par calendaryearandproduct catégories. Pour créer ce measure, vous filter la table, Internet Sales USD, à l’aide de Sales Territory, and ensuite utiliser 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 all 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 measure, NON USA Internet Sales, la formule pour laquelle est fournie dans la section de code ci-dessous. Le tableau compare all ventes Internet aux ventes internet non-USA, pour montrer que l’expression filter fonctionne, en excluant les ventes des États-Unis à partir du calcul.

Pour recréer cette table, ajoutez le champ SalesTerritoryCountry à la zone Étiquettes de ligne d’un rapport or tableau croisé dynamique.

Tableau 1. Comparaison des ventes totales pour les États-Unis et all 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 measure, non USA Internet Sales. Ajoutez le champ CalendarYear à la zone Étiquettes de ligne du tableau croisé dynamique and ajoutez le champ ProductCategoryName à la zone Colonnes.

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

É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])

fonctions FilterALL fonctionALLEXCEPT