Contact: 514-605-7112 / info@lecfomasque.com

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

Publié le : 30 septembre 2018

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, Finance corporative et Compléments avancés. 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.

 

Découvrez quelles formations vous conviennent

Pour info: 514-605-7112 ou info@lecfomasque.com

 

Sophie Marchand

Sophie Marchand, M.Sc., CPA, CGA, MVP, est détentrice d’une M.Sc. en finance corporative et d’un titre comptable CPA, CGA. Elle est également MVP Office Apps and Services (Excel) et MVP Data Platform (Power BI). Le titre de MVP est un titre honorifique remis par Microsoft et signifie « Most Valuable Professional ». Il est attribué à des experts de solutions Microsoft qui se distinguent non seulement par leurs compétences mais également par leur implication dans la communauté. Seuls 4 professionnels possèdent cette double-qualification dans le monde. Mme Marchand cumule de nombreuses années d’expérience dans le milieu des affaires et se spécialise en modélisation financière et en intelligence d’affaires avec Excel et Power BI. Après avoir longtemps offert ses services comme consultante, elle se consacre désormais à la formation, sous toutes ses formes (formations en classe, formations en ligne, formations en entreprise, webinaires, animation de groupe d'usagers, rédaction d'articles de blogue, animation de forum en ligne et plus encore). Vous pouvez d'ailleurs la retrouver à la tête du groupe d'usagers Montreal Modern Excel and Power BI.

  • réponse Mathieu ,

    Bonjour,

    Merci beaucoup pour vos explications et la qualité de vos articles.

    J’essaye de reproduire vos explications dans mes propres rapports et cela fonctionne bien pour les données mensuelles mais je n’arrive pas à obtenir le cumul depuis le début de l’année.
    J’ai essayé avec une fonction de ce type TOTALYTD( [VentesTotalAprèsRabais] ; DimDates[Date] ; all(DimDates) )
    Le résultat obtenu est décevant car les données affichées ne sont pas cumulées depuis le début de l’année et correspondent à la données du mois.

    Pourriez vous, s’il vous plait, m’éclairer sur mon erreur ?

    Merci

    • réponse CompteAdminCFO ,

      Bonjour,

      Je vous invite à soumettre votre fichier sur notre forum ou un exemple réduit de celui-ci afin de pouvoir mieux comprendre ce que vous tentez de faire et ce qui pose problème.

      Merci.

      Sophie

    Laisser un commentaire