Magazine Informatique

Power BI : Sparkline dynamique affichant les valeurs des x derniers mois

Publié le 30 septembre 2018 par Sopmar01 @mon_cher_watson

Il y a quelques temps, j’ai rédigé l’article Fan de Stephen Few? Reproduisez aisément sa plus célèbre visualisation où je vous invitais à télécharger un fichier Excel vous permettant de reproduire le tableau de bord ci-dessous. En ce moment, je suis en train de créer l’équivalent dans Power BI, à partir d’un modèle de données, plutôt complexe. Tout allait pour le mieux jusqu’à ce que j’en arrive à la portion qui permet d’afficher les 12 derniers mois sur un graphique sparkline. Dans mon rapport Power BI, il faut préciser que l’usager peut choisir de regarder le rapport selon l’année et le mois qu’il désire. La tendance des 12 derniers mois doit donc être dynamique. Après quelques essais et erreurs et quelques recherches, j’ai finalement découvert comment obtenir le résultat recherché, que je vous présente dans cet article. J’espère que cette démarche vous sera utile!

Stephen Few

Afficher l’évolution des ventes des 12 derniers mois

L’objectif est donc de laisser l’usager choisir un mois et une année et afficher dans le rapport, la tendance des 12 derniers mois dans un graphique sparkline (et j’ai aussi ajouté un graphique en colonnes pour vous aider à comparer les valeurs obtenues).

Power BI Afficher les x derniers mois

Bien sûr, il est possible d’écrire aisément une formule qui permet d’obtenir la somme des ventes cumulées des 12 derniers mois, par le biais de la fonction de Time Intelligence DATESINPERIOD ci-dessous. Toutefois, ceci ne permet pas d’obtenir le résultat recherché. Si vous placez cette mesure dans une tuile de carte, vous verrez le montant cumulé des 12 derniers mois. J’ai d’ailleurs inséré une telle carte dans mon rapport, ci-dessus. Mais si vous placez cette mesure dans un graphique en colonnes, vous n’obtiendrez qu’une seule colonne. C’est normal. Les filtres de mois et d’année influencent la tuile. Et si vous modifiez les interactions pour ne pas que les mois et les années filtrent la tuile et bien, vous verrez alors toutes les données de tous les mois, en tout temps.

Ventes12derniersmois

Dans le rapport ci-dessus, j’ai inséré cette mesure dans une table qui n’est pas influencée par les segments de mois et d’année. On peut donc voir en tout temps les ventes nettes mensuelles. J’ai inséré cette table pour fins de validation de ma démarche.

Pour obtenir le résultat recherché, j’ai donc plutôt utilisé la mesure suivante:

Ventes 12 derniers mois graphique

Description des variables

  • MaxDateAct : Calcule la date max de ma table de faits, sans égard aux filtres de dates du rapport
  • DernierJourSelect : Calcule le dernier jour du mois sélectionné dans les filtres du rapport
  • DernierJourSelect12MTH: Calculer le dernier jour du mois, 12 mois précédent le mois sélectionné dans les filtres du rapport

À noter que j’ai utilisé -12 dans ma fonction EDATE. Toutefois, il aurait été possible de définir un paramètre flexible et laisser l’usager choisir la période désirée.

Description de la formule

  • J’utilise une fonction IF où le test logique vérifie que:
    • La date max de ma table de faits est à la fois
      • Plus petite ou égale à la date sélectionnée
      • Plus grande que le dernier jours du mois, 12 mois précédent le mois sélectionné
      • Elle vérifie donc qu’elle se trouve dans l’intervalle demandé par l’usager
  • Si la condition est rencontrée, on retourne la mesure, pour toutes les dates citées en condition (et on ignore les filtres de dates sur la table de faits)
  • Sinon, on retourne 0

Les conditions sont là pour définir le bon intervalle temporel et empêcher d’obtenir des erreurs pour des valeurs non existantes. Dans mon exemple, ci-dessous, mes données de ma table de faits commencent au 1er janvier 2017 et se terminent au 30 juin 2018. Ce faisant, quand l’usager sélectionne JUIN 2018, il voit 12 données dans le graphique sparkline et le graphique en colonnes. Toutefois, lorsqu’il sélectionne JUIN 2017, il voit seulement 6 données.

Afficher 6 derniers mois

Attention! pour que le tout fonctionne, vous devez absolument utiliser le champ temporel (ici année-mois) de la table de faits dans votre visualisation, puisque c’est sur cette table qu’on demande d’ignorer les filtres de dates.

Attention axe

NOTRE OFFRE DE FORMATIONS


Microsoft Most Valuable Professional

Le CFO masqué vous offre un vaste choix de formations Excel et Power BI, réparties dans 8 catégories: Excel – Tableaux de bord, Excel – Modélisation financière, Excel – VBA, Excel – Power Tools, Excel – Ninja, Power BI, Analytique d’affaires et Finance corporative. Ces formations sont offertes en classe, en entreprise et en ligne. Nos formateurs sont des experts dans leur domaine et ils sont accrédités par Emploi-Québec et vous remettent un certificat, à la fin de chaque formation, que vous pouvez notamment utiliser pour faire reconnaître des heures de formation continue auprès de votre ordre professionnel. De plus, nos formations peuvent mener à l’obtention d’une accréditation.

Découvrez quelles formations vous conviennent

Pour info: 514-605-7112 ou [email protected]


Retour à La Une de Logo Paperblog

A propos de l’auteur


Sopmar01 3934 partages Voir son profil
Voir son blog

l'auteur n'a pas encore renseigné son compte