DAX
Share
Explore
Principes du DAX

icon picker
Quatre+ concepts de base

1 | Contextes d’évaluation

Filtres implicites

Filtres du rapport (segments...)

Filtres explicites

Introduits par des arguments de fonctions DAX.
Contextes de lignes ou de filtres. Cf. [MS].
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.
Exemple :
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.

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 implicites : dans une matrice, secteur “1”, “2” et “3” affichent chacun le même total des 3 secteurs (le total général).

CALCULATE([Montant], FILTER(ALL(DimTerritoires), DimTerritoires[Secteur]=1))


Ordre de résolution : explicites > implicites.


Détails dans la page

2 | Itérateurs

SUMX, FILTER

3 | 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é.

4 | Tables étendues

5 | Autres

Auto existence

Uniquement dans la fonction SUMMARIZECOLUMNS.

Lineage

Et .

Sugar Syntax

=syntaxes alternatives, plus simples.
On peut écrire :
Total Sales Syntax Sugar = SUM(Sales[SalesAmount])
ou aussi :
Total Sales Full Syntax = SUMX(Sales, Sales[SalesAmount])

On peut écrire :
Total Sales Prior Year Syntax Sugar =
CALCULATE(
Sales[SalesAmount],
SAMEPERIODLASTYEAR('Calendar'[Date])
)
ou aussi :
Total Sales Prior Year Full Syntax =
CALCULATE(
Sales[SalesAmount],
DATEADD('Calendar'[Date], -1, YEAR)
)

Share
 
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.