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.
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).
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).
En effet, quand nous comparons les deux fonctions, nous voyons qu’elles fournissent les mĂȘmes rĂ©sultats.
Ă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.
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âŻ:
La 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Ă©.
bonjour
une formation axĂ©e sur DAX dĂ©butant m’intĂ©resserait vivement
merci
Bonjour,
Une formation dĂ©butant m’intĂ©resserait Ă©galement !
Merci
Bonjour,
Nous offrons une formation d’introduction au langage DAX ici https://www.lecfomasque.com/formations/formations-en-entreprise/introduction-au-langage-dax/.
Vous pouvez la suivre en ligne.
Au plaisir,
Sophie
Bonjour,
une formation dĂ©butant axĂ© sur le langage DAX mâintĂ©ressait
En vous remerciant
Bonjour,
Nous offrons la formation en ligne suivante: https://www.lecfomasque.com/cours/introduction-au-langage-dax-power-bi-et-power-pivot/.
Au plaisir,
Sophie