Télécharger l’exemple
GonzagueDUCOS_DAX_TransitionDeContexte.pbix
59.2 kB
Un contexte est une information sur l’environnement de calcul d’une formule DAX.
Contexte de ligne
Le calcul est effectué sur chaque ligne de la table source.
Utilisé dans les colonnes calculées et par les fonctions itératives, comme SUMX et FILTER.
Le contexte de ligne parcourt une table ligne par ligne. Il ne filtre pas la table.
Contexte de filtre
est une fonction qui assure un contexte de filtre. Contexte qui s’applique au dessus du contexte de ligne.
Transition de contexte
Quand on crée un colonne calculée ou qu’on utilise une fonction itérative (SUMX, FILETER…), une transition de contexte (entre contexte de ligne et contexte de filtre) doit être effectuée à l’aide de la fonction CALCULATE.
Sales to big customers :=
SUMX (
VALUES ( Customer[CustomerKey] ),
VAR CustomerSales =
CALCULATE (
SUMX ( Sales, Sales[Quantity] * Sales[Net Price] )
)
VAR Result = IF ( CustomerSales >= 5000, CustomerSales )
RETURN
Result
)
Dans cette exemple, la fonction CALCULATE opère une transition de contexte : le filtre appliqué par VALUES est appliqué.
Autre exemple : la vente la plus élevée par jour :
MAXX (
VALUES(’Calendar’[Date])
[Total Sales]
)