Tout comme Excel, Power Pivot vous permet d’Ă©crire vos propres fonctions. Le langage sous-jacent se nomme DAX pour Data Analysis Expression et il est directement inspirĂ© d’Excel. Cet article vise Ă vous expliquer plus en dĂ©tails comment utiliser les fonctions itĂ©ratives en DAX, qui se terminent par un X.
OĂč trouver les fonctions DAX ?
Si vous souhaitez avoir un aperçu de l’ensemble des fonctions DAX existantes, vous pouvez ouvrir une fenĂȘtre Power Pivot et cliquer sur le symble fx dans votre barre de formules.
Comme dans Excel, Power Pivot regroupe ses fonctions en différentes catégories. Ceci peut vous aider à trouver ce que vous cherchez.
Pour connaĂźtre les meilleures pratiques d’affaires en rĂ©daction de fonctions DAX, je vous invite Ă relire l’article Power BI: Meilleures pratiques dâaffaires avec Power Pivot.
Colonnes vs champs calculés (ou mesures)
En DAX, vous pouvez crĂ©er des colonnes calculĂ©es ou des champs calculĂ©s, plus communĂ©ment appelĂ©s, mesures. Les colonnes calculĂ©es sont Ă©valuĂ©es par ligne alors que les mesures sont Ă©valuĂ©es par cellule (dans Excel) donc elles dĂ©pendent du contexte d’Ă©valuation (des filtres, des segments (slicers), etc.). Une mesure doit ĂȘtre Ă©valuĂ©e plusieurs fois (pour Ă©valuer tous les contextes) contrairement Ă une colonne calculĂ©e, qui n’est Ă©valuĂ©e qu’une seule fois.Le rĂ©sultat d’une mesure, contrairement Ă une colonne calculĂ©e, n’est jamais sauvegardĂ©. Pour comprendre la diffĂ©rence entre une colonne et un champ calculĂ©, je vous invite Ă relire l’article PowerPivot: Colonnes et champs calculĂ©s en DAX.
Mesures explicites vs mesures implicites
Dans Power Pivot, vous pouvez faire l’usage de mesures implicites (crĂ©Ă©es par dĂ©faut) ou de mesures explicites. L’article suivant vous explique pourquoi il est prĂ©fĂ©rable d’utiliser les mesures explicites, mĂȘme dans le cas oĂč une mesure implicite existe dĂ©jĂ dans votre modĂšle de donnĂ©es: Power Pivot: Mesures explicites vs mesures implicites.
Fonctions itératives en DAX, se terminant par un X
DAX permet d’utiliser les fonctions d’agrĂ©gation d’Excel comme SUM, AVERAGE, MIN, MAX, COUNT, STDEV.P, STEDEV.S, VAR.P, VAR.S, mais ces fonctions ne font rĂ©fĂ©rence qu’Ă une colonne. Donc, DAX a ajoutĂ© de nouvelles fonctions (munies d’un X Ă la fin), pour permettre de faire des agrĂ©gations sur n’importe quelle expression d’une table de donnĂ©es. Il s’agit de fonctions que l’on dit itĂ©ratives.
Exemple d’usage d’une fonction itĂ©rative se terminant par X en DAX
- Fonction : SUMX (Table, Expression)
- Table: Table sur laquelle on veut opĂ©rer l’agrĂ©tation
- Expression: Expression Ă ĂȘtre agrĂ©gĂ©e
- Exemple:Â SUMX(FactSales, [UnitPrice] * [SalesQuantity])
Quelques exemples de fonctions itératives en DAX
Les exemples suivants sont basés sur le modÚle de données ci-bas:
Fonction itérative SUMX avec la fonction RELATEDTABLE
Voici un exemple de l’usage de la fonction SUMX avec une fonction RELATEDTABLE. D’abord, il faut savoir que la fonction RELATEDTABLE va chercher les ventes correspondantes (par ligne donc ici par catĂ©gorie) dans la table de ventes. Nous utilisons ensuite la fonction SUMX dans une colonne calculĂ©e, qui  permet de trouver la somme de ces ventes. Nous aurions pu utiliser Ă©galement la fonction AVERAGEX par exemple, pour ramener la moyenne des ventes par catĂ©gorie.
Explications
- Fonction : SUMX (Table, Expression), i.e. une fonction qui fait la somme
- Table: RELATEDTABLE(Ventes), i.e. la table Ventes du modÚle de données
- Expression:Â Ventes[Ventes], i.e. la colonne [Ventes] de la table Ventes
Fonction itérative AVERAGEX avec la fonction FILTER
Les deux exemples suivants sont basés sur la table de ventes de notre modÚle de données, qui comprend les colonnes suivantes:
Dans l’exemple suivant, nous crĂ©ons une mesure qui sert Ă trouver la moyenne des ventes de produits dont le coĂ»t unitaire est supĂ©rieur Ă 1000$. Nous utilisons la fonction AVERAGEX, avec une fonction FILTER, qui permet d’effectuer un filtre dans notre expression.
Explications
- Fonction : AVERAGEX (Table, Expression), i.e. une fonction qui fait la moyenne
- Table: FILTER(Ventes,[Coût unitaire]>1000), i.e. une table qui ne comprend que les données de ventes de la table Ventes dont les coûts unitaires sont supérieurs à 1000
- Expression: [Ventes], i.e. la colonne [Ventes] de la table Ventes (nous n’avons pas Ă Ă©crire le nom de la table puisque nous sommes dĂ©jĂ dans la table Ventes)
Fonction itérative SUMX avec la fonction FILTER
Dans le prochain exemple, nous crĂ©ons une mesure qui fait la somme des ventes en ligne, qui se trouve Ă ĂȘtre le canal #1 dans notre modĂšle de donnĂ©es.
Explications
- Fonction : SUMX (Table, Expression), i.e. une fonction qui fait la somme
- Table: FILTER(Ventes,Ventes[# canal]=1), i.e. une table qui ne comprend que les données de ventes de la table Ventes dont le #canal est 1
- Expression: Ventes[Ventes], i.e. la colonne [Ventes] de la table Ventes
Voyez le tout en action dans ce tutoriel
đïž Abonnez-vous Ă notre chaĂźne YouTube
Bon visionnementâŻ!
Power Pivot: Leçons de DAX: Suite
Power Pivot: Leçon de DAX no.2 (RELATED)
Power Pivot: Leçon de DAX no.3 (COUNTROWS)
Power Pivot: Leçon de DAX no.4 (FILTER/DISTINCT)
Power Pivot: Leçon de DAX no.5 (CALCULATE)
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)
Et vous?
Avez-vous des questions concernant l’usage des fonctions X en DAX? Le cas Ă©chĂ©ant, utilisez la zone de commentaires ci-bas pour nous en faire part.
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Ă©.