CROSSFILTER |
Filtrage croisé |
| DAX (Data Analysis Expressions) |
Syntaxe
|
CROSSFILTER(columnName1, columnName2, direction)
|
Paramètres
| Nom |
Description |
| columnName1 |
Ce paramètre permet de spécifier la première colonne impliquée dans la relation sur laquelle s'applique le filtrage croisé. |
| columnName2 |
Ce paramètre permet de spécifier la seconde colonne liée à la première, définissant ainsi la relation entre les deux tables. |
| direction |
Ce paramètre permet de déterminer la direction du filtrage croisé à appliquer. |
Description
Cette fonction permet de spécifier la direction de filtrage croisé à appliquer dans un calcul pour une relation entre deux colonnes.
Remarques
- Définition et utilité : La fonction CROSSFILTER permet de contrôler la direction du filtrage entre deux colonnes liées dans un modèle de données.
Par défaut, DAX applique les filtres selon la relation définie entre les tables, mais cette fonction offre la possibilité de modifier temporairement cette direction dans
le cadre d'un calcul. Elle est particulièrement utile pour des mesures complexes nécessitant un filtrage inversé ou bidirectionnel.
- Paramètre columnName1 : Le paramètre columnName1 correspond à la première colonne impliquée dans la relation. Cette colonne est considérée comme le
point de départ ou la source du filtrage lorsque l'on définit la direction. La précision dans la sélection de cette colonne est cruciale pour garantir que le filtrage croisé
fonctionne comme prévu.
- Paramètre columnName2 : Le paramètre columnName2 correspond à la seconde colonne liée à la première. Cette colonne représente la destination ou la cible du
filtrage croisé. Ensemble avec columnName1, elle définit la relation sur laquelle le filtre sera appliqué, et donc quelles lignes seront affectées dans le calcul.
- Paramètre direction : Le paramètre direction permet de spécifier comment le filtrage doit s'appliquer : vers une seule direction, bidirectionnel, ou aucune
(désactivation du filtrage). Les options courantes incluent : Single (filtrage simple), Both (bidirectionnel) et None (aucun filtrage). La modification de ce paramètre permet
d'influencer directement les résultats d'agrégations ou de mesures DAX.
- Application pratique : CROSSFILTER est souvent utilisée dans des calculs où la relation par défaut ne suffit pas, comme les calculs de ventes croisées entre
plusieurs tables ou les modèles avec relations inactives. Elle est également utile pour gérer des relations auto-référencées ou complexes dans des modèles avec des
hiérarchies.
- Impact sur les mesures : Lorsque CROSSFILTER modifie la direction d'un filtrage, cela peut affecter des mesures comme SUMX,
CALCULATE ou d'autres fonctions d'agrégation dépendantes du contexte de filtre. Une mauvaise utilisation peut entraîner des résultats inattendus,
il est donc recommandé de tester soigneusement les calculs après application de cette fonction.
- Relation avec les relations actives et inactives : CROSSFILTER permet de surcharger temporairement la direction de filtrage d'une relation active ou d'utiliser
une relation inactive dans un calcul. Cela donne une flexibilité avancée pour modéliser des scénarios financiers, commerciaux ou analytiques complexes sans modifier les
relations globales du modèle.
- Précision et optimisation : L'utilisation de CROSSFILTER doit être réfléchie, car les filtres bidirectionnels ou multiples peuvent augmenter la complexité du
modèle et affecter les performances de calcul. Il est préférable de l'utiliser uniquement lorsque nécessaire, pour éviter des ralentissements ou des boucles de filtrage non
souhaitées dans les grands modèles Power BI ou SSAS.
Dernière mise à jour : Vendredi, le 30 Mai 2025