Technologies de l'information
Article
Nouvelle
Étude de cas
Portrait de formateur

Qu’est-ce que DAX, le langage de Power BI ?

Technologia
par Technologia
Technologia
Qu’est-ce que DAX, le langage de Power BI ?

DAX est un langage introduit par Microsoft au milieu des années 2000, avec Power Pivot et dans le modèle tabulaire SSAS. Ce langage de fonction vise un public différent de celui qui utilise SQL ou les requêtes MDX.

Pourquoi DAX ?

  • Pour prendre en charge une base d’utilisateur plus grande
  • Pour offrir une alternative plus simple aux langages techniques traditionnels
  • Pour tirer parti des formules Excel acquises par les utilisateurs
  • Pour réduire l’apprentissage pour les analystes

Quelles sont les fonctions principales de DAX ?

  • Créer des colonnes calculées
  • Créer des mesures calculées

Colonnes calculées vs Mesures calculées

Qu’est-ce qui les différencie :

  • La valeur d’une colonne calculée s’affiche lors de l’actualisation des données et utilise la ligne actuelle comme contexte, sans lien avec l’interaction de l’utilisateur dans le rapport. Les relations entre les tables sont inactives pour les colonnes calculées. Pour qu’elles soient effectives, il faut spécifier à l’outil de les activer.
  • Une mesure calculée agit sur les agrégations de données, selon le contexte, le(s) filtre(s) appliqué(s) dans le rapport.
  • Les colonnes sont précalculées et stockées dans le modèle, prenant de l’espace au profit de la vitesse. A contrario, les mesures sont dynamiques et calculées à chaque fois qu’elles sont consommées.

Quand choisir une colonne calculée

Les colonnes sont très utiles comme axe d’analyse. Pour utiliser les résultats dans un segment ou les afficher sous forme de lignes ou de colonnes dans un tableau croisé dynamique ou dans les axes d’un graphique, ou utiliser le résultat comme condition de filtre dans une requête DAX.

La colonne s’impose quand il faut définir une expression propre à la ligne en cours (ex.  Quantité X Prix unitaire).

Et aussi Lorsqu’il faut catégoriser le texte ou les chiffres (ex. pour des plages de valeurs).

Quand choisir une mesure calculée

Lorsque vous devez faire des agrégats dynamiques (ex. ventes/client) et les utiliser dans un tableau croisé dynamique comme mesure. Exemple : calcul des ratios d’un produit par rapport à tous les produits tout en conservant le filtre par année et par région.

DAX, colonne et mesures calculées

Les mesures calculées dans DAX

Les mesures sont centrales dans Power BI. L’outil dispose de :

  • Mesures implicites : l’agrégation se fait par défaut sur les colonnes numériques (pratiques pour des sommes de volume ou de coût, moins quand il s’agit de dates).
  • Mesures explicites : définies par l’utilisateur grâce à l’écriture d’une formule dans l’éditeur.

Il existe de nombreux agrégats, similaires à ceux que l’on trouve dans Excel.

Quelques fonctions utiles de DAX

Impossible de faire ici une liste exhaustive, mais il y a quelques fonctions essentielles ou pour le moins pratiques.

Format

Pour convertir une valeur en texte, selon un format spécifié.
Pour profiter d’options de formatage (prédéfinis par le système ou l’utilisateur).
Pour utiliser différents types (nombre, heures, date).

Find et Search

Pour trouver la position de départ d’une chaîne.
Find est sensible à la case et aux accents et plus rapide que Search.
Search permet l’utilisation de « ? » et « * » (Wild Card) pour trouver un caractère ou une chaîne de caractères.

Bien d’autres fonctions sont disponibles évidemment.

Comprendre le contexte de filtre dans DAX

Le contexte de filtres est une source de confusion dans DAX pour de nombreux utilisateurs. En fait, c’est l’ensemble des filtres appliqués au modèle de données avant le début de l’évaluation d’une expression DAX.

Lorsque vous utilisez une mesure dans un tableau croisé dynamique, par exemple, elle produit des résultats différents pour chaque cellule, car la même expression est évaluée sur un sous-ensemble différent des données

Nous définissons simplement comme « contexte de filtre » l’ensemble des filtres appliqués à l’ensemble des filtres appliqués à l’évaluation d’une expression DAX – généralement une mesure – quelle que soit la manière dont ils ont été générés.

DAX, contexte de filtre

DAX n'est pas facile d'apprentissage. En tant qu'utilisateur, on peut passer par plusieurs phases avant d'atteindre une certaine sérennité. 

Les 4 phases d’apprentissages de DAX

1-L’excitation
Similitudes avec Excel
Formules de base faciles
Ajout rapide et efficace au modèle de données

2-La confusion
Pas si simple que ça
Les filtres ne sont pas obligatoires
Les mesures fonctionnent de façon inattendue

3-La colère
C’est la confusion
Il y a des contexte de filtre et de ligne
Ce n’est pas comparable avec les autres outils

4-La compréhension
Le contexte devient plus clair
Aborder les problèmes devient plus facile, même sans être un expert

Conclusion

DAX est un langage puissant pour mettre à profit tout le potentiel de Power BI. C’est aussi pourquoi un apprentissage est indispensable pour bien saisir la logique et la finesse.

Pour aller plus loin :

Power BI : optimiser les modèles de données avec DAX

Voir toutes les formations Données et IA

Photo de Claudio Schwarz sur Unsplash

Articles similaires

Voir tous les articles de blogue