Power BI DAX Tutoriel pour les débutants
Qu'est-ce que DAX ?
DAX ou Data Analysis Expressions est à l'origine de tous les calculs que vous pouvez effectuer dans Power BI. Les formules DAX sont polyvalentes, dynamiques et très puissantes - elles vous permettent de créer de nouveaux champs et même de nouveaux tableaux dans votre modèle. Si DAX est le plus souvent associé à Power BI, vous pouvez également trouver des formules DAX dans Power Pivot dans Excel et dans SQL Server Analysis Services (SSAS).
Les formules DAX sont composées de trois éléments principaux et ce tutoriel couvrira chacun d'entre eux :
- Syntaxe - La syntaxe DAX est constituée d'une variété d'éléments, dont certains sont communs à toutes les formules.
- Fonctions - Les fonctions DAX sont des formules prédéfinies qui prennent certains paramètres et effectuent un calcul spécifique.
- Contexte - DAX utilise le contexte pour déterminer les lignes à utiliser pour effectuer un calcul.
Pourquoi DAX est-il important dans Power BI ?
Les formules DAX vous permettent de tirer le meilleur parti de vos données et de Power BI afin de résoudre efficacement les problèmes de l'entreprise. Vous pouvez effectuer des calculs simples (tels qu'une simple somme ou une moyenne) et créer la plupart des graphiques sans même toucher à DAX. Par exemple, si vous souhaitez créer un graphique simple montrant le bénéfice total, il vous suffit de faire glisser le champ Bénéfice dans la section Valeurs du graphique pour obtenir la somme des lignes de ce champ.
Dans deux cas, il est préférable de créer une formule DAX :
- Si vous souhaitez réutiliser une formule à plusieurs endroits, par exemple dans plusieurs graphiques ou en tant qu'expression dans d'autres formules DAX. Dans ce cas, l'utilisation d'une formule DAX rendrait votre rapport plus efficace et plus facile à modifier à l'avenir, puisque vous n'auriez à modifier qu'une seule formule au lieu de modifier de nombreuses formules individuelles à chaque endroit où elles sont utilisées.
- Si vous souhaitez créer des formules complexes ou personnalisées pour lesquelles une simple SOMME ou MOYENNE ne suffirait pas à résoudre le problème que vous tentez de résoudre.
Maîtriser Power BI de A à Z
Où sont utilisées les formules DAX dans Power BI ?
Vous pouvez utiliser les formules DAX de trois manières différentes dans Power BI :
- Tableaux calculés - Ces calculs ajouteront un tableau supplémentaire au rapport sur la base d'une formule.
- Colonnes calculées - Ces calculs ajouteront une colonne supplémentaire à un tableau sur la base d'une formule. Ces tableaux sont traités comme n'importe quel autre champ du tableau.
- Mesures - Ces calculs ajouteront un résumé ou une mesure agrégée à un tableau sur la base d'une formule.
La principale différence entre ces trois types de calculs réside dans leur contexte (nous y reviendrons) et les résultats qu'ils produisent.
Pour ajouter l'un de ces types de calculs à un modèle, accédez à l'onglet Modélisation du ruban. Vous y trouverez trois choix pour ajouter une nouvelle mesure, une colonne calculée ou un tableau. Vous pouvez également cliquer avec le bouton droit de la souris sur un tableau dans le volet Champs, et vous aurez la possibilité d'ajouter une nouvelle mesure ou une colonne calculée dans le menu déroulant.
Commencez à apprendre Power BI gratuitement
Fonctions DAX dans Power BI
Comment écrire une formule DAX
Les formules DAX sont intuitives et faciles à lire. Il est ainsi facile de comprendre les bases de DAX, ce qui vous permet de commencer à écrire vos propres formules assez rapidement. Passons en revue les éléments constitutifs d'une syntaxe DAX correcte.
- Nom de la mesure ou de la colonne calculée
- L'opérateur égal à ("=") indique le début de la formule
- Une fonction DAX
- Parenthèses ouvrantes (et fermantes) ("()")
- Références de colonnes et/ou de tableaux
- Notez que chaque paramètre suivant d'une fonction est séparé par une virgule (",").
Les fonctions DAX peuvent également être imbriquées les unes dans les autres afin d'effectuer plusieurs opérations de manière efficace. Cela peut vous faire gagner beaucoup de temps lorsque vous écrivez des formules DAX. Par exemple, il est souvent utile d'avoir plusieurs instructions IF imbriquées ou d'utiliser la fonction IFERROR pour envelopper une autre fonction, de sorte que toute erreur dans la formule soit représentée par la valeur que vous spécifiez.
Les fonctions DAX les plus couramment utilisées dans les rapports sont les suivantes :
- Calculs simples : COUNT, DISTINCTCOUNT, SUM, AVERAGE, MIN, MAX.
- RÉSUMONS : Renvoie un tableau généralement utilisé pour appliquer des agrégations sur différents groupes.
- CALCULEZ : Effectue une agrégation avec un ou plusieurs filtres. Si vous spécifiez plus d'un filtre, la fonction effectuera le calcul si tous les filtres sont vrais.
- IF : En fonction d'une condition logique, il renverra une valeur différente selon qu'elle est vraie ou fausse. Cette opération est similaire à l'opération CASE WHEN en SQL.
- IFERROR : Recherche les erreurs éventuelles pour une fonction interne et renvoie un résultat spécifié
- ISBLANK : Vérifie si les lignes d'une colonne sont vides et renvoie true ou false. Il est utile de l'utiliser avec d'autres fonctions comme IF.
- EOMONTH : Renvoie le dernier jour du mois d'une date donnée (référence de colonne dans un format de date) pour autant de mois dans le passé ou le futur.
- DATEDIFF : renvoie la différence entre 2 dates (toutes deux sous forme de colonnes dans les formats de date) en jours, mois, trimestres, années, etc.
Comprendre le contexte dans les formules DAX
Les formules DAX dans Power BI sont dynamiques et changent en fonction du contexte dans lequel elles ont été créées. Il est important de comprendre le fonctionnement des contextes dans DAX, car cela peut vous éviter bien des maux de tête lorsque vous rencontrez des erreurs de confusion dans vos formules.
Il existe deux principaux types de contexte dans DAX : le contexte de ligne et le contexte de filtre.
Contexte de la ligne
Il s'agit de la "ligne actuelle" dans toutes les colonnes d'un tableau et s'étend également à toutes les colonnes des tableaux apparentés. Ce type de contexte permet à la formule DAX de savoir quelles lignes utiliser pour une formule spécifique.
Voici un exemple de formule pour une colonne calculée qui a un contexte de ligne :
Cost Price Per Unit = financials[COGS] / financials[Units Sold]
Dans cet exemple, le calcul du prix de revient par unité est effectué ligne par ligne. Cela signifie que DAX doit savoir quelle est la ligne actuelle lorsqu'il parcourt l'ensemble de données, effectue le calcul et remplit la nouvelle colonne avec le résultat.
Le contexte des lignes est implicite dans les colonnes calculées. En effet, les calculs effectués dans les colonnes calculées sont réalisés ligne par ligne, et le contexte de ligne est donc défini par défaut. Toutefois, ce n'est pas le cas dans les mesures puisque les agrégations sont appliquées pour toutes les lignes d'un tableau. Ces calculs n'ont pas besoin de connaître la ligne en cours puisque toutes les lignes sont agrégées.
A titre d'exemple de mesure, considérez la formule DAX suivante :
Profit margin = SUM ( financials[Profit] ) / SUM ( financials[Sales] )
Dans ce cas, toute la colonne Bénéfice est additionnée pour obtenir un seul chiffre, qui est divisé par la somme de toute la colonne Ventes. DAX n'a pas besoin de connaître la ligne actuelle, puisqu'il effectue une agrégation. Cette mesure ne s'inscrit donc pas dans un contexte de rangée.
Pour définir explicitement un contexte de ligne dans une mesure, vous devez utiliser une fonction spéciale appelée itérateur. Les fonctions SUMX, AVERAGEX et COUNTX sont des exemples d'itérateurs. Ces fonctions effectuent d'abord un calcul ligne par ligne, puis procèdent à l'agrégation finale du résultat (c'est-à-dire la somme, la moyenne, le décompte, etc.). De cette manière, le contexte de la ligne est défini explicitement par l'utilisation de ces itérateurs.
Voyons un exemple de fonction itérateur en action :
Average Cost Per Unit = AVERAGEX ( financials, financials[COGS] / financials[Units Sold] )
Cet exemple effectue deux calculs : l'expression est d'abord évaluée ligne par ligne, puis le résultat est appliqué à la fonction MOYENNE. Une autre façon d'obtenir le même résultat consiste à créer d'abord la colonne calculée "Prix de revient par unité" comme nous l'avons fait ci-dessus, puis à créer une mesure MOYENNE distincte pour cette colonne. Cependant, si vous savez quand utiliser ces fonctions itératrices, vos rapports seront plus efficaces et utiliseront moins de mémoire, car vous serez en mesure d'effectuer deux calculs avec une seule formule.
Contexte du filtre
Le contexte de filtre est appliqué au-dessus du contexte de ligne et fait référence à un sous-ensemble de lignes ou de colonnes qui sont spécifiées comme filtres dans le rapport. Les filtres peuvent être appliqués de plusieurs manières :
- Directement dans une formule DAX
- Utilisation du volet des filtres
- Utilisation d'un visuel de slicer
- A travers les champs qui composent un visuel (comme les lignes et les colonnes d'une matrice)
Un bon exemple d'ajout d'un contexte de filtre à une formule DAX est l'utilisation de la fonction CALCULATE, qui vous permet d'ajouter un ou plusieurs paramètres de filtre à la mesure. Dans l'exemple ci-dessous, nous créons une mesure de marge bénéficiaire filtrée pour les États-Unis uniquement :
USA Profit Margin =
CALCULATE ( SUM ( financials[Profit] ) / SUM ( financials[Sales] ), financials[Country] = "United States of America")
Conclusion
Vous disposez maintenant de quelques outils DAX de base à essayer, et ils ne sont que la partie émergée de l'iceberg de tout ce que DAX peut faire. Avec 250 fonctions possibles à apprendre, le chemin vers la maîtrise de DAX est à la fois stimulant et gratifiant. Nous aborderons des fonctions plus avancées dans notre tutoriel DAX avancé, et vous pouvez commencer à faire passer vos compétences DAX au niveau supérieur dès aujourd'hui avec notre cours Dax dans Power BI. Vous pouvez également en savoir plus sur les raisons pour lesquelles Power BI est l'une des meilleures compétences à acquérir.
Devenez un analyste de données Power BI
Maîtrisez l'outil de veille stratégique le plus populaire au monde.
FAQ sur Power BI DAX
Qu'est-ce que DAX dans Power BI ?
DAX ou Data Analysis Expressions, vous permettent d'effectuer des calculs qui créent de nouveaux champs et même de nouveaux tableaux dans votre modèle.
Que signifie DAX dans Power BI ?
Expressions pour l'analyse des données
Comment écrire une formule DAX dans Power BI ?
Les formules DAX sont saisies dans la barre de formule située juste en dessous du ruban dans Power BI. Commencez par donner un nom à la formule, puis faites suivre du signe égal à ("="). Ensuite, écrivez votre formule en utilisant des fonctions, des constantes ou des chaînes de caractères.
Comment écrire une mesure DAX dans Power BI ?
Créez une mesure DAX en sélectionnant "Nouvelle mesure" dans l'onglet Modélisation du ruban ou en cliquant avec le bouton droit de la souris sur un tableau dans le volet Champs et en sélectionnant "Nouvelle mesure" dans le menu déroulant.
Comment créer une formule "case when" à l'aide de DAX dans Power BI ?
La formule "cas où" est créée à l'aide de la fonction IF dans une formule DAX.
Comment joindre deux tableaux dans Power BI en utilisant DAX ?
La façon la plus simple de joindre deux tableaux est d'exploiter les relations existantes entre les tableaux et d'utiliser la fonction ADDCOLUMNS pour ajouter des colonnes supplémentaires à un tableau. Cette fonction effectue une jointure à gauche.
Comment utiliser la clause where avec DAX dans Power BI ?
La clause where est facilement appliquée à l'aide des paramètres de filtrage dans DAX. Par exemple, la fonction CALCULER prend en compte une expression et plusieurs paramètres de filtrage facultatifs. Cela permet de contrôler la manière dont les graphiques et les données des utilisateurs influencent ces fonctions.
Comment créer des tableaux statiques dans Power BI à l'aide de la fonction DAX DATATABLE ?
La fonction DATATABLE est un moyen simple et pratique de créer des tableaux statiques qui ne sont pas actualisés à moins que la fonction DAX ne soit explicitement modifiée. La syntaxe de DATATABLE est la suivante :
DATATABLE (
<column1_name>, <column1_datatype>,
<column2_name>, <column2_datatype>,
{
{ <value1_row1>, <value2_row1> },
{ <value1_row2>, <value2_row2> }
}
)
Comment remplacer des valeurs dans Power BI à l'aide de DAX ?
Il existe deux façons de remplacer des valeurs de chaîne dans une colonne avec DAX, à savoir avec les fonctions REPLACE et SUBSTITUTE. La fonction REPLACE remplace une chaîne de caractères en fonction de la position exacte et du nombre de caractères que vous avez spécifiés. En revanche, la fonction SUBSTITUTE remplacera toute chaîne de caractères correspondant exactement, quelle que soit sa position.
Comment apprendre à utiliser DAX dans Power BI ?
DataCamp's DAX in Power BI. Le cours enseigne une vaste gamme de calculs DAX de niveau débutant à avancé et la meilleure façon de les utiliser dans vos rapports.