Power BI – évolution moyenne d’une valeur

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 :

PowerBI_DiffWithPreviousValue

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 :

PowerBI_DiffWithPreviousValueResult

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

PowerBI_DiffWithPreviousValueTriParDate

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)

PowerBI_DiffWithPreviousValueIndexes

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

PowerBI_QueryOnlyConnection

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 :

PowerBI_CreateQueryByReference

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

PowerBI_AutoJointuresSurLaLignePrécédente.png

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 »)

PowerBI_ColonneDeveloppee.png

Reste plus qu’à ajouter une colonne personnalisée permettant d’effectuer la différence entre mes deux champs : [Value] – [Previous.Value]

PowerBI_ColonnePersonnalisée

puis à supprimer les colonnes de transformation intermédiaires et à typer le champ Diff en numérique

PowerBI_DiffValuePreviousRowFinal.png

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

PowerBI_DiffValuePreviousRowDataModel

Je n’ai plus qu’à utiliser ma mesure dans mes différents visuels Power BI.

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s