Comment peut-on calculer l’évolution moyenne d’une valeur avec Power BI ? Le principe est simple, il suffit de calculer la différence de valeur d’une ligne par rapport à la précédente puis d’en faire la moyenne.
Prenons le simple jeu de données suivant :
Il faut dans un premier temps calculer pour chaque ligne la différence par rapport à ligne précédente afin d’obtenir le résultat :
Je crée donc dans Power BI Dekstop une première requête sur mon jeu de données initial. Il est primordial de s’assurer dans un premier temps que les lignes sont ordonnées correctement. Je créé donc une première étape de transformation triant mes données par date
Il suffit ensuite de créer 2 colonnes d’index :
- le premier index permettant d’identifier la ligne courante avec une numérotation commençant par 1.
- le second permet d’avoir l’index de la ligne précédente (facile il suffit de commencer la numérotation à 0)
Etant donné qu’il s’agit d’une requête intermédiaire de transformation, je m’assure de bien désactiver le chargement des données dans le data model
Afin de faire une auto-jointure, je crée une seconde requête en référençant la requête précédemment créée :
Il suffit d’effectuer une fusion de requête afin de récupérer pour chaque ligne la référence de la ligne précédente via une jointure gauche. En bref je fais une auto jointure
Cela m’ajoute une nouvelle colonne que je nomme Previous. En développant cette nouvelle colonne, je peux récupérer la ou les valeurs, issues de la requête fusionnée, qui m’intéressent (en l’occurrence la colonne « value »)
Reste plus qu’à ajouter une colonne personnalisée permettant d’effectuer la différence entre mes deux champs : [Value] – [Previous.Value]
puis à supprimer les colonnes de transformation intermédiaires et à typer le champ Diff en numérique
Mon travail sur les données étant terminé, je ferme l’éditeur de requête et charge le tout dans le Data Model. Les données numériques utilisant par défaut la fonction d’agrégation Somme je modifie ce comportement sur le champ Diff afin d’en faire la moyenne
Je n’ai plus qu’à utiliser ma mesure dans mes différents visuels Power BI.