Archives du jour : 27 juin 2017


CALCULATE() est certainement l’une des fonctions les plus puissantes et les plus utiles du langage DAX. On peut la comparer à la fonction SUMIF() d’Excel, sans ses limitations. Anatomie de la fonction : =CALCULATE(<aggrégateur>, <filtre1>, <filtre2>, … ) Agrégateurs SUM ([Colonne]) SUM ([Colonne1]) / MIN ([Colonne2]) MIN(),AVERAGE(),SUMX() …Ou une autre mesure définie [Mesure 1]. Filtres Avec CALCULATE() nous pouvons non seulement réaliser n’importe quel calcul, mais nous pouvons appliquer autant de filtres que nous le souhaitons sur les données source ! Par exemple, créons une nouvelle mesure dans notre table ‘Gd livre’. MesureExemple = CALCULATE( SUM(‘Gd livre'[Solde]);’Gd livre'[C.j]= »ACH »; ‘Gd livre'[Racine]=607; ‘Gd livre'[Centre Analytique]= »Centre A » ) Cette mesure calcule le total des soldes des écritures du journal des Achats, pour chaque compte dont la racine est 607, et uniquement pour le Centre analytique « Centre A ». CAlCULATE() + ALL() : Du lourd !! Nous n’avons pas jusqu’à présent rencontré encore  la fonction ALL(). Son utilité est simple à décrire : ALL() neutralise tous les filtres appliqués. Reprenons notre exemple précédent, en transformant la carte en histogramme groupé. Maintenant glissons le champs [MoisNom] dans la case Axe. Notre [mesure1] est maintenant « découpée » par mois, c’est-à-dire qu’en arrière-plan, un nouveau filtre s’applique sur chaque barre : Barre du mois de Janvier : […]

DAX – CALCULATE() – Introduction