ALLCROSSFILTERED |
Tous filtres croisés |
| DAX (Data Analysis Expressions) |
Syntaxe
Paramètres
| Nom |
Description |
| table |
Ce paramètre permet de spécifier la table pour laquelle tous les filtres croisés appliqués seront supprimés, afin de retourner toutes les lignes de cette table sans tenir compte des filtres provenant d'autres tables liées. |
Description
Cette fonction permet de supprimer tous les filtres croisés appliqués à une table.
Remarques
- Fonction spécialisée pour ignorer les filtres croisés : ALLCROSSFILTERED est utilisée pour retourner toutes les lignes d'une table en ignorant les filtres
appliqués à partir de tables liées par des relations. Contrairement à ALL, supprimant tous les filtres sur une table ou colonne, ALLCROSSFILTERED se concentre sur les
filtres croisés provenant d'autres tables, ce qui permet de contrôler plus finement le contexte de calcul.
- Utile pour recalculer des totaux globaux dans des modèles relationnels : Dans des modèles comportant plusieurs tables liées (par exemple Produits et Ventes),
certains filtres peuvent provenir indirectement d'autres tables via des relations. ALLCROSSFILTERED permet de neutraliser ces filtres croisés pour calculer un total global
ou une mesure indépendante, tout en conservant les filtres locaux sur la table concernée.
- Fonctionnement au niveau de la table entière : ALLCROSSFILTERED s'applique à une table complète et ne cible pas des colonnes spécifiques. Elle garantit que
toutes les lignes de la table sont incluses dans le calcul, quel que soit l'effet des filtres croisés, ce qui est particulièrement utile pour des mesures de pourcentage ou
de performance comparée à un total de référence.
- Souvent combinée avec CALCULATE pour modifier le contexte de filtre : Comme beaucoup de fonctions de manipulation de filtre, ALLCROSSFILTERED est fréquemment
utilisée à l'intérieur de CALCULATE pour redéfinir le contexte de mesure. Par exemple, CALCULATE(SUM(Sales[Amount]), ALLCROSSFILTERED(Products)) permet de sommer les ventes
en ignorant les filtres croisés sur la table Produits.
- Différence avec ALL et ALLEXCEPT : ALL supprime tous les filtres directs sur une table ou colonne, tandis qu'ALLCROSSFILTERED supprime uniquement les filtres
croisés provenant d'autres tables. ALLEXCEPT, quant à elle, supprime tous les filtres sauf ceux explicitement indiqués. Cette distinction est importante pour créer des
mesures précises dans des modèles relationnels complexes.
- Idéal pour les mesures de performance relative dans des modèles liés : ALLCROSSFILTERED permet de comparer une valeur filtrée à un total global tout en
respectant les filtres directs sur la table. Cela est utile pour calculer des ratios ou des pourcentages relatifs dans des rapports où les filtres croisés peuvent biaiser
le résultat si ALL seul était utilisé.
- Impact sur la performance à surveiller : L'utilisation de ALLCROSSFILTERED sur de grandes tables ou dans des modèles très liés peut augmenter le temps de
calcul, car elle oblige DAX à ignorer certains filtres croisés tout en conservant le contexte local. Il est donc recommandé de limiter son usage aux cas où cette suppression
ciblée est nécessaire.
- Complémentaire avec d'autres fonctions DAX de filtrage avancé : ALLCROSSFILTERED peut être combinée avec FILTER, VALUES ou d'autres fonctions de manipulation
de contexte pour construire des mesures sophistiquées. Par exemple, on peut appliquer ALLCROSSFILTERED pour neutraliser les filtres croisés, puis filtrer la table sur une
période spécifique pour obtenir une mesure spécifique, tout en conservant un total global pertinent.
Dernière mise à jour : Vendredi, le 30 Mai 2025