Contact: 514-605-7112 / info@lecfomasque.com

Power Pivot: Leçon de DAX no.1 (fonctions X)

Publié le : 26 août 2015

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. 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.

Fonctions DAX Fx

 

Comme dans Excel, Power Pivot regroupe ses fonctions en différentes catégories. Ceci peut vous aider à trouver ce que vous cherchez.

Catégories fonctions Dax

 

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 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.

 

Exemple d’usage d’une fonction X

  • 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

Les exemples suivants sont basés sur le modèle de données ci-bas:

Modèle de données Power Pivot

 

Fonction 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
SUMX DAX

 

Fonction 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:

Table Ventes

 

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)
Dax AverageX

 

Fonction 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
Sumx DAX Filter

 

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)

.

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.

 


NOTRE OFFRE DE FORMATIONS


Nos formations sont éligibles à la subvention PACME du Québec

et notre entreprise est datadockée en France

Microsoft Most Valuable Professional

Le CFO masqué vous offre un vaste choix de formations Excel et Power BI, réparties dans 8 catégories: Excel – Tableaux de bord, Excel – Modélisation financière, Excel – VBA, Excel – Power Tools, Excel – Ninja, Power BI, Finance corporative et Compléments avancés. Ces formations sont offertes en classe, en entreprise et en ligne. Nos formateurs sont des experts dans leur domaine et ils sont accrédités par Emploi-Québec et vous remettent un certificat, à la fin de chaque formation, que vous pouvez notamment utiliser pour faire reconnaître des heures de formation continue auprès de votre ordre professionnel.

 

Découvrez quelles formations vous conviennent

Pour info: 514-605-7112 ou info@lecfomasque.com

 

Sophie Marchand

Sophie Marchand, M.Sc., CPA, CGA, MVP, est détentrice d’une M.Sc. en finance corporative et d’un titre comptable CPA, CGA. Elle est également MVP Office Apps and Services (Excel) et MVP Data Platform (Power BI). Le titre de MVP est un titre honorifique remis par Microsoft et signifie « Most Valuable Professional ». Il est attribué à des experts de solutions Microsoft qui se distinguent non seulement par leurs compétences mais également par leur implication dans la communauté. Seuls 4 professionnels possèdent cette double-qualification dans le monde. Mme Marchand cumule de nombreuses années d’expérience dans le milieu des affaires et se spécialise en modélisation financière et en intelligence d’affaires avec Excel et Power BI. Après avoir longtemps offert ses services comme consultante, elle se consacre désormais à la formation, sous toutes ses formes (formations en classe, formations en ligne, formations en entreprise, webinaires, animation de groupe d'usagers, rédaction d'articles de blogue, animation de forum en ligne et plus encore). Vous pouvez d'ailleurs la retrouver à la tête du groupe d'usagers Montreal Modern Excel and Power BI.

Laisser un commentaire