Power Pivot: Leçon de DAX no.5 (CALCULATE)

Publié le 29 octobre 2015
par Sophie Marchand M.Sc.
CALCULATE avec 2 filtres

Cet article fait suite aux articles Power Pivot: Leçon de DAX no.1 (fonctions X), Power Pivot: Leçon de DAX no.2 (RELATED), Power Pivot: Leçon de DAX no.3 (COUNTROWS) et Power Pivot: Leçon de DAX no.4 (FILTER/DISCTINCT). Il vise à démontrer comment utiliser la fonction CALCULATE en langage DAX (Data Analysis Expression), soit le langage utilisé par Power Pivot et par Power BI Desktop. Vous verrez au fil de ces chroniques, que la fonction CALCULATE sera très souvent utilisée, en combinaison avec d’autres fonctions DAX, dans des contextes souvent plus complexes. Toutefois, l’article d’aujourd’hui introduit simplement les principes de base de la fonction CALCULATE.

 

Définition de la fonction CALCULATE

Calculate (Expression, Filter1, Filter2, …)

La fonction CALCULATE permet d’évaluer n’importe quelle fonction DAX dans un contexte de filtres particulier. On définit simplement une mesure et on spécifie ensuite les filtres qui doivent être appliqués à cette mesure.

 

La fonction CALCULATE fait, plus précisément, ce qui suit:

  • Modifie le contexte de filtres en utilisant des filtres placés comme arguments dans la fonction;
  • Si placée dans un contexte de lignes, déplace le contexte de lignes en contexte de filtres;
  • Évalue l’expression dans le nouveau contexte modifié.

 

Quelques exemples de filtres utilisés dans une fonction CALCULATE:

  • DimChannel[ChannelName]=”Store”
  • DimGeography[CityName]=”Seattle” || DimGeography[CityName]=”Portland”

 

Quelques exemples d’application concrets

Dans l’article Power Pivot: Leçon de DAX no.3 (COUNTROWS), nous avons vu comment utiliser la fonction DAX COUNTROWS. Dans le premier exemple, ci-bas, nous l’utilisons notamment pour calculer le nombre de transactions total dans la table de ventes et le résultat est inscrit dans une colonne de la table Catégories. Ainsi, pour chaque catégorie, nous obtenons un nombre de 13,341 transactions. Ce chiffre est stable puisqu’il représente le nombre de transactions total, sans égard aux catégories, dans la table de ventes. Dans le deuxième exemple ci-bas, nous affichons plutôt le nombre de transactions par catégorie, par le biais de la fonction CALCULATE. Nous déplaçons ainsi le contexte de lignes en contexte de filtres.

CALCULATE COUNTROWS

 

Dans l’exemple suivant, nous utilisons la fonction CALCULATE pour calculer les ventes en ligne, soit les ventes du canal #1. Nous aurions également pu écrire cette fonction de la façon suivante: CALCULATE(SUM([Ventes]Ventes),Canaux[# canal]=1), mais nous avions déjà défini [VentesConso] comme étant SUM([Ventes]Ventes).

CALCULATE ventes en ligne

 

Dans l’exemple suivant, nous vous rappelons qu’il est également possible d’utiliser la fonction SUMX combinée avec la fonction FILTER pour trouver les ventes en ligne. Vous pouvez revoir la fonction FILTER dans l’article suivant Power Pivot: Leçon de DAX no.4 (FILTER/DISCTINCT).

SUMX(FILTER) Ventes en ligne

 

En effet, quand nous comparons les deux fonctions, nous voyons qu’elles fournissent les mêmes résultats.

CALCULATE vs SUMX(FILTER)

 

Évidemment, il est aussi possible d’utiliser plus d’un filtre dans une fonction CALCULATE. Par exemple, ci-bas, nous effectuons la somme des ventes pour le client 21,dans le canal 1, i.e. les ventes en ligne. Nous utilisons donc deux filtres.

CALCULATE avec 2 filtres

 

Vous avez des sources de données volumineuses à rassembler et analyser dans Excel ? Apprenez à automatiser tout le processus d’importation, de transformation et de modélisation  des données avec nos formations sur Power Query et Power Pivot dans Excel.

 

Power Pivot: Leçons de DAX: Suite

Power Pivot: Leçon de DAX no.6 (ALL)

Power Pivot: Leçon de DAX no.7 (ALLEXCEPT)

Power Pivot: Leçon de DAX no.8 (ALLSELECTED)


 

Fichier d’accompagnement VIP à télécharger

Pour télécharger le fichier utilisé dans ce tutoriel, devenez membre VIP du CFO masqué.

 

Formation complémentaire

Pour une introduction au langage DAX, utilisé par Power Pivot et par Power BI Desktop, qui permet de créer des tableaux de bord flexibles et faciles à mettre à jour en plus de créer des visualisations de données évoluées et pertinentes, suivez la formation Introduction au langage DAX (Power BI et Power Pivot).

 

Voici quelques commentaires d’apprenants ayant suivi cette formation :

Le-CFO-masque_Commentaires-Introduction-langage-DAX

CFO-Masque_Formations-en-ligne_FBLa mission du CFO masqué est de développer les compétences techniques des analystes et des contrôleurs de gestion en informatique décisionnelle avec Excel et Power BI et favoriser l’atteinte de leur plein potentiel, en stimulant leur autonomie, leur curiosité, leur raisonnement logique, leur esprit critique et leur créativité.

5 réflexions sur “Power Pivot: Leçon de DAX no.5 (CALCULATE)”

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Retour en haut