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

Publié le 30 septembre 2018
par Sophie Marchand M.Sc., CPA, CGA, MVP
x derniers mois sparkline

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

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

 

Pour devenir maître de Power BI et réussir à créer toutes les visualisations de données que vous avez en tête, nous vous recommandons fortement notre suite de formations en ligne Power BI.

 

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

 


Fichier d’accompagnement VIP à télécharger

Pour télécharger le fichier utilisé dans ce tutoriel, devenez membre VIP du CFO masqué.

 

Formation complémentaire

Afin d’approfondir vos connaissances en visualisations de données, vous pouvez vous inscrire à l’atelier – Visualisations de données dans Power BI si vous avez déjà de bonnes bases en Power BI. Si ce n’est pas le cas, il est recommandé de débuter avec la formation Power BI (Niveau 1).

 

Voici quelques commentaires d’apprenants ayant suivi cette formation :

Louis Lajoie
Écrit il y a 2 mois
Ce cours est le meilleur que j'ai eu l'occasion de suivre

En plusieurs dizaines d'années en informatique, une des formations les plus intéressantes qu'il m'est été donné de suivre.

Nicolas Grandclaude
Écrit il y a 4 mois
Cette formation est une première étape indispensable

Cette formation est une première étape indispensable pour découvrir de manière structuée à Power Bi. Sans hésiter, je recommande cette formation à tous ceux qui veulent franchir un nouveau cap profesionnel.

Thierry Veilleux
Écrit il y a 5 mois
C'était au-delà de mes attentes!

Sophie est une excellente communicatrice qui maîtrise parfaitement son contenu. Les explications sont claires et présentées avec une petite dose d'humour. Le format de la plateforme et des modules font que cela s'insère bien dans une journée de travail bien remplie. Vraiment, chapeau!

Claire Vézina
Écrit il y a 9 mois
C'est très clairement expliqué.

Simple à suivre. Et j'aime le format e-learning, car je peux suivre la formation à mon rythme, en arrêtant pour tester quand j'en sens le besoin.

Jacques Bruneau
Écrit il y a 2 ans
Bravo ! et surtout merci !

La meilleure a ce jour en ligne. Le ton est vivant ! Aussi contrairement à d'autres formations excel suivies en ligne, le fait de pouvoir revenir sur les vidéos et exemples à volonté est un atout majeur contrairement aux autres formations.


CFO-Masque_Formations-en-ligne_FB Le CFO masqué offre un vaste choix de formations en informatique décisionnelle avec Excel et Power BI, via un portail en ligne et à distance en temps réel, selon un calendrier. Si vous désirez organiser des formations privées, faites nous simplement parvenir un courriel à info@lecfomasque.com . Des certificats convenant aux normes de formation continue des divers ordres professionnels du Québec sont offerts pour l'ensemble des formations.  

Découvrez quelles formations vous conviennent

 

9 réflexions sur “Power BI : Sparkline dynamique affichant les valeurs des x derniers mois”

  1. 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

    1. 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

  2. Bonjour,
    Merci pour votre description, mais je n’arrive pas à faire lien entre le filtre choisi et le calcul. J’ai crée ma table de date DimDate et je l’ai liée à ma table des faits. J’ai crée l’histogramme avec la mesure en valeurs et la date (de la table des faits) en axe.
    J’ai crée les segments de filtres avec la Date de DimDate, mais quand je clique sur un jour en janvier 2020 pour voir toutes les valeurs entre Janvier 2019 et Janvier 2020 sur l’histogramme, il n’apparaît uniquement Janvier 2020.
    Auriez-vous une idée du problème ? Ou pourriez vous m’envoyer votre fichier d’origine ?
    Merci

    1. Sophie Marchand

      Bonjour,

      Vous pouvez poser votre question sur le forum et y insérer votre fichier. Nous pourrons examiner quelle est votre erreur.

      Au plaisir,

      Sophie

  3. Bonjour,
    Je souhaite créer un graphique montrant l’évolution du nombre de personnes dans un service. Il y a des entrées et des sorties. Comment pourrais-je procéder ?
    Merci

  4. Bonjour,
    je souhaite effectuer un graphique montrant l’évolution de la masse salarial en prenant en compte les entrées et sorties par date. J’ai dans dans mes données les dates d’entrées et de de sorties, nom/prénom, service.
    Comment procederiez-vous ?
    merci

    1. Sophie Marchand

      Bonjour,

      Vous pouvez simplement créer une mesure qui fait la somme des entrées et des sorties, disons la mesure MASSESALARIALE et ensuite, vous pouvez simplement créer une mesure MASSESALARIALECUM = CALCULATE([MASSESALARIALE],DATESYTD(DimDates[Date])).

      Sophie

  5. Bonjour, j’ai une table calendrier dans mon modèle et et je eux afficher des quantités seon les mois mais il se troue que les valeur de certains mois n’affichent mais la quantité compte dans le total.
    Je sais pas trop cela est dû à quoi

    1. CompteAdminCFO

      Bonjour,

      Il serait plus facile de vous répondre via le forum, si vous uploadez votre fichier .pbix.

      Forum: https://www.lecfomasque.com/forum/.

      Mais dans tous les cas, un visuel ne fait jamais la somme des lignes qu’il présente. La ligne de total retourne plutôt le résultat d’une mesure qui n’est pas filtrée pour le contexte de lignes du visuel en question.

      Maintenant, il faudrait comprendre pourquoi certaines valeurs ne s’affichent pas. Est-ce que vous les avez filtrées ou est-ce pour une autre raison?

      Bref, si vous nous partagez votre fichier sur le forum, il sera plus facile de comprendre et de vous aider.

      Merci.

      Sophie

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Scroll to Top