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 :

Commentaires d'apprenants - Introduction au langage DAX (Power BI et Power Pivot)

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