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.
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 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 DAXVoir toutes les formations Données et IA
Photo de Claudio Schwarz sur Unsplash