Après avoir obtenu les données et relier les tables entre elles, il s’agira de procéder aux mesures complémentaires pour révéler les indicateurs nécessaires à un décisionnel efficace.
3️⃣ façons de calculer dans Power BI
- Calculer avec une transformation ou un ajout de colonne dans Power Query grâce aux onglets Transformer ou Ajouter une colonne, ou directement par une formule en langage M.
- Calculer avec un ajout de colonne par l’outil Nouvelle colonne de l’onglet Modélisation de Power BI.
- Calculer sans ajout de colonne par une mesure directe sur une table entière avec le langage DAX (Data Analysis eXpression), comme par exemple avec les fonctions avancées d’agrégation SUMX ou COUNTX, ou avec les fonctions de filtrage CALCULATE ou FILTER. Les nouveaux calculs de visuels permettent également de mesurer sans ajout de colonnes dans le modèle de données.
🔥 Dans tous les cas, pour optimiser les calculs il n’y a pas vraiment de règles, juste des bonnes pratiques à savoir mettre en œuvre.
5️⃣ choix de calculs
- Ajouter des colonnes à la source via Excel avant l’importation dans Power BI, ce qui sera toujours la moins bonne solution. C’est celle qui alourdira le plus le traitement, à tous les niveaux, même en utilisant Query et Pivot dans Excel, puisqu’elle oblige à renouveler l’opération à chaque modification de la source. Méthode à proscrire !
- Ajouter des colonnes via Query dans Power BI à l’aide des boutons de l’onglet Ajouter une colonne pour ne pas avoir à utiliser le langage M. Cette solution automatique, bien que meilleure que la première, alourdira le modèle de données avec des colonnes supplémentaires. A éviter.
- Ajouter des colonnes via DAX avec Power Pivot dans Power BI grâce à l’outil Nouvelle colonne de l’onglet Modélisation, équivalent aux calculs implicites effectués automatiquement par Power BI sur toutes les colonnes de type numérique. Méthode à privilégier si les besoins d’agrégations sur la colonne sont importants : somme, moyenne, nombre, min, max, écart type. Cette méthode évite alors la multiplication de mesures DAX de type SUM, AVERAGE, COUNT, MIN, MAX, etc..
- Effectuer des mesures, le meilleur choix, qui consiste à faire le minimum nécessaire et indispensable avec Query puis à se concentrer sur les mesures ou les calculs de visuels avec DAX. Le langage DAX permet de calculer directement sans créer de nouvelle colonne et donc sans alourdir les tables ni le modèle de données. Les mesures rapides et les calculs de visuels permettront de simplifier la génération de code DAX pour les calculs courants.
- Ajouter des tables entières, si cela est justifié par les besoins du projet, en dupliquant des requêtes dans Power Query ou en utilisant des mesures de tables avec DAX.
🐱 Pensez à l’IA
Dans tous les cas, et quelque soit la formule à générer, pensez toujours à l’IA pour vous assister. Ce serait dommage de s’en passer.
Un prompt du type : « Formule DAX nommée CA TOTAL qui affiche la somme de la colonne Quantité de la table Ventes multipliée par la colonne Prix de la table liée Produits. » donnera toujours une réponse fiable que l’on pourra copier coller directement dans une nouvelle mesure. Il suffira d’être précis sur le nom des colonnes et des tables qui entrent en jeu dans le calcul souhaité.
👁️ Vue de requête DAX
La Vue de requête DAX dans le volet latéral de gauche de Power BI Desktop permet d’évaluer des mesures dans une table avant de les intégrer au modèle de données. Le code suivant, puis l’appui sur le bouton Exécuter, permet par exemple de vérifier si la mesure CA TOTAL est correcte avant d’être éventuellement copiée collée dans le modèle. Le bouton Format permet d’incrémenter automatiquement la mesure évaluée pour améliorer sa lisibilité.
EVALUATE
SUMMARIZECOLUMNS(
"CA TOTAL",
SUMX(
Ventes,
Ventes[Quantité]*
RELATED(
Produits[Prix])
))
C’est l’occasion de tester la fonction DAX SUMMARIZE qui permet de créer un tableau croisé dynamique dans Power BI, comme on peut le faire de façon automatique dans Excel à partir de l’onglet Insertion ou de la nouvelle fonction GROUPER.PAR. Avec DAX, il s’agit de la fonction SUMMARIZE qui crée une table de valeurs cumulées, par exemple ici la table résumée des catégories de produits et de leur quantité cumulée, que l’on pourra ensuite créer dans le modèle de données sous le nom CumulQte.
EVALUATE
SUMMARIZE(
Ventes,
Ventes[Catégorie],
"Quantité",
SUM(
Ventes[Quantité]
))
💡 L’ajout dans la même table d’une mesure de type :
TOP CATEGORIE =
LOOKUPVALUE( CumulQte[Catégorie], CumulQte[Quantité],
MAX(
CumulQteProduit[Quantité]
))
permettra d’afficher dans un visuel Carte le Top Produit de la table Cumul Qté créée précédemment. Remarque : LOOKUPVALUE, équivalent DAX des fonctions RECHERCHEV ou X dans Excel.
Inversement, un clic droit dans sur une mesure ou une colonne existante dans le volet Données de la vue Affichage du rapport, puis option Requêtes rapides, permet d’afficher et d’évaluer les valeurs de la colonne ou de la mesure sans passer par un visuel.
💡 Les commandes VAR et RETURN
La combinaison des commandes VAR et RETURN à l’intérieur d’une expression permet de limiter le nombre de mesures DAX dans le modèle, et donc de l’optimiser et d’en accélérer l’actualisation.
Par exemple, la mesure suivante affichera la variation en + ou en – entre la valeur de la somme des Quantités du mois en cours et celle du mois précédent en passant par un calcul intermédiaire de pourcentage.
VAR QTE MoM =
VAR
MoM =
SUM(
Ventes[Quantité]
)
/
CALCULATE(
SUM(Ventes[Quantité]), PREVIOUSMONTH(
Calendrier[Date])
)
-1
RETURN
IF(
MoM < 0,
MoM,
"+"&FORMAT(MoM,"0 %")
)
La mesure suivante affichera dans un visuel Carte simple le TOP PAYS, c’est à dire le nom du pays dont la quantité cumulée vendue est la plus importante. Il suffira de modifier le paramètre DESC de la fonction DAX TOPN en le remplaçant par l’option ASC pour obtenir le FLOP PAYS, c’est à dire le pays pour lequel la même quantité cumulée est la plus petite.
TOP PAYS =
VAR
TOP_PAYS =
TOPN(
1,
SUMMARIZECOLUMNS(
Ventes[Pays],
"CUMUL QUANTITE",
SUM(Ventes[Quantité])
),
[CUMUL QUANTITE],
DESC
)
RETURN
CONCATENATEX(
TOP_PAYS,
Ventes[Pays]
)
💡 Les valeurs TOP peuvent également être affichées sans calcul supplémentaire à partir du volet latéral de Filtres à l’aide du type de filtrage avancé N premiers.
🌐 Aller plus loin
- Informations de référence sur DAX
- Créer vos propres mesures dans Power BI Desktop
- Utilisation des calculs visuels
- Utiliser des mesures rapides
- Essentiel Power BI & DAX
- Glossaire DAX
- Syntaxe de DAX
👉 C’est à vous !
- Créez une table vide nommée _Mesures pour accueillir toutes les mesures DAX.
- Ajoutez une nouvelle colonne CA dans la table Ventes.
- Calculez les valeurs de QUANTITE TOTALE et de CA TOTAL par des mesures globales en DAX à l’aide des fonctions SUM et SUMX.
- Calculez les valeurs de QUANTITE MOYENNE et de CA MOYEN par des mesures globales en DAX à l’aide des fonctions AVERAGE et AVERAGEX.
- Affichez les TOP de chaque dimension, Catégorie, Pays et Continent, à partir du volet de Filtres ou de mesures DAX.
- Utilisez la Vue de requêtes DAX ou des visuels Carte simple pour vérifier les résultats, à partir des colonnes ou des mesures calculées.
- Testez la bonne répartition de ces valeurs par Catégorie, par Pays ou par Continent à l’aide de visuels Table.
- Comparez vos résultats avec la page Mesurer du rapport de référence POWER-BI.FR.pbix.
❓Testez-vous sur cette partie
Le test se trouve à la fin de la prochaine partie Filtrer les données
💪 Autoformation
Suivez pas à pas les ateliers 6 et 7 pour vous muscler sur cette partie
