Support Formation DAX
Fonctions de filtres

icon picker
FILTER

Retourne une table qui représente un sous-ensemble d’une autre table ou expression.
FILTER(<table>, <filter>)

Exemple

Sales2007_FILTER =
CALCULATE (
Sales[SalesAmount],
FILTER (
OrderDate,
OrderDate[Year] = 2007
)
)
Résultat de FILTER
Year
Sales2007
1
2006
2
2007
600
3
2008
There are no rows in this table

Fonction qui n’est pas indépendante (doit être incorporée à CALCULATE et CALCULATETABLE par exemple).
Est une expression de table, qui est filtrée sur une expression appliquée sur chaque ligne.
Commence par supprimer tous les filtres appliqués à <table>.
Fonction de type “Itérateur”, donc évalue chaque ligne individuellement.
Le filtre doit porter sur les colonnes du premier argument (les arguments Filtre de CALCULATE peuvent porter sur la totalité du modèle)

Limites de la fonction

Ici on utilise FILTER comme expression de table pour l’argument <filters> de CALCULATE.
Red Sales =
CALCULATE(
[Sales],
FILTER('Product', 'Product'[Color] = "Red")
)

On préfèrera utiliser une expression booléenne (plutôt qu’une expression de table), qui est plus efficace (s’assure que tous les filtres existants appliqués à la colonne sont conservés et ne sont pas remplacés.)
Red Sales =
CALCULATE(
[Sales],
KEEPFILTERS('Product'[Color] = "Red")
)
Une expression booléenne a ces limites :
Ne permet pas de comparer des colonnes entre elles
Ne peut pas référencer une mesure.
Ne peut pas utiliser des fonctions CALCULATE imbriquées.
Ne peut pas utiliser des fonctions qui analysent ou retournent une table.
Donc on devra utiliser FILTER au lieu de KEEPFILTER ; on cherche les produits à marges élevées - prix dépasse 2 fois le coût standard :
High Margin Product Sales =
CALCULATE(
[Sales],
FILTER(
'Product',
'Product'[ListPrice] > 'Product'[StandardCost] * 2
)
)

Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
CtrlP
) instead.