1 | Contexte d’évaluation implicite et explicite
Filtres implicites
Filtres du rapport (segments...)
Filtres explicites
Introduits par des arguments de fonctions DAX.
Ordre de résolution
Explicites > Implicites.
Exemples
CALCULATE([Montant], DimTerritoires[Secteur]=1)
Le filtre de la fonction CALCULATE remplace le filtre implicite sur rapport : dans une matrice, Secteur “2” affiche le montant du Secteur 1.
Sugar syntax de :
CALCULATE([Montant], FILTER(ALL(DimTerritoires), DimTerritoires[Secteur]=1))
CALCULATE([Montant], FILTER(DimTerritoires, DimTerritoires[Secteur]=1))
La fonction FILTER n’efface pas les filtres implicites mais ajoute des filtres : dans une matrice, secteur “2” affiche les montants dont le secteur = 2 (filtre implicite) ET le secteur=1 (filtre explicite), donc n’affiche rien.
CALCULATE([Montant], ALL(DimTerritoires))
La fonction ALL dans le filtre de CALCULATE ignore les filtres implicites et explicites : dans une matrice, secteur “1”, “2” et “3” affichent chacun le même total des 3 secteurs (le total général).
2 | Contexte de filtre, de ligne et transition de contexte
Le contexte de filtre est l’ensemble des filtres appliqués aux données source, avant que le calcul ne soit effectué.
CALCULATE(expression, filtre) : remplace les filtres implicites.
CALCULATE(expression, FILTER()) : filtre la table mais ne remplace pas les filtres implicites.
CALCULATE(expression, FILTER(ALL())) : filtre la table puis ignore les filtres implicites.
3 | Itérateurs
SUMX, FILTER
Procède sur chaque ligne de la table.
4 | Tables étendues
5 | Autres
Auto existence
Uniquement dans la fonction SUMMARIZECOLUMNS. Lineage
Sugar Syntax
=syntaxes alternatives, plus simples.
On peut écrire :
ou aussi :
On peut écrire :
ou aussi :