Quelle est l’approche la plus efficace pour construire un rapport performant ?

Quelle est l’approche la plus efficace pour construire un rapport performant ?

M VS DAX dans Power BI

Est-il le plus pertinent d’utiliser Power Query (langage M), ou DAX dans la construction d’un rapport dans Power BI ?

M et DAX qu’est-ce que c’est ?

M est un langage ETL (Extract, Transform, Load) et DAX (Data Analysis Expressions) est un langage d’analyse de données.

M est à privilégier dans la préparation de la donnée et DAX dans l’analyse :

Power Query :
– Extraire la donnée de la source
– Transformer la donnée :
o Fusion et jointure
o Transposition et pivot
o Définition du type de données– Charger la donnée dans une table

DAX :

– Modèle de données
– Agrégations
– Calculs de KPI
– Fonction d’intelligence temporelle
– Calculs dynamiques
– Sécurité au niveau des lignes

Quels sont leurs impacts sur la performance du rapport ?

Power Query :
L’actualisation est planifiée, le nombre de transformations en M, impacte la taille du fichier .PBIX ainsi que la durée de l’actualisation de la donnée.

DAX :
L’actualisation est en temps réel, le nombre de calculs en DAX, impacte le temps de chargement du rapport et de la mise en place des filtres dynamiques.

Les cas particuliers
Et les colonnes calculées ?
Si la colonne est nécessaire pour une transformation comme une jointure ou une transposition : langage M, sinon DAX.
Et la table de date ?
Les deux options sont possibles, mêmes si les fonctions d’intelligence temporelle DAX permettent plus facilement de créer une table de date dynamique. Comme pour les colonnes calculées, si la table est nécessaire pour une jointure, privilégier M.

Conclusion :
L’utilisation de M et DAX dans un même outil permet de tirer le meilleur de chaque langage et d’obtenir des meilleures performances dans la construction des rapports et leurs utilisations.
L’expérience Low-code de Power Query et la saisie semi-automatique des formules DAX permet un accès facilité à Power BI sans avoir une connaissance poussée des deux langages.

Julie Mathey, Consultante cloud Microsoft chez Kaizzen