PIT Point In Time

PIT Point In Time

Introduction

Nous sommes souvent amenés à avoir des données descriptives dans nos modèles Power BI. Les données peuvent varier dans le temps et avoir des dates de validités. Ce qui peut devenir un vrai casse tête lors de la création de notre modèle de données.

Quelles données ?

Une voiture peut changer d’usines de production à travers le temps

  • Une voiture peut être proposées à la vente avec différents moteurs à travers le temps
  • Un client peut avoir à travers le temps :
    • Une ou plusieurs cartes de fidélités
    • Une ou plusieurs adresses

Quel types de données?

  • Données multiples
  • Avec une notion de temps. (L’information est valable d’une date à une autre et est potentiellement suivie ou chevauchée par une autre)

PIT – Point In Time – Datavault

Le Point In Time est une notion largement utilisée lors de la création de datawarehouse de type Datavault. Réaliser un snapshot et historiser les données permet une restitution beaucoup plus facile.

(Je ne débattrai pas des pour ou contre du Datavault, mais j’ai mes préférences ^^)

Si vous souhaitez en savoir plus, je vous invite à lire cet article. (Ecrit par Dan Linstedt)

Value of PIT and Bridge Tables in Data Vault 2.0

Demo

Que souhaitons nous faire?

Il est intéressant pour nos utilisateurs de naviguer à travers les données en y appliquant un filtre de temps (CFR Slicer Date)

Comment : En créant une mesures DAX. (#PIT Shoes)

L’exemple çi-dessus affiche dynamiquement les chaussures de Pauline.

Modèle de données

Notre modèle de données

L’exemple suivant est assez simple (Le fichier Power BI est disponible en téléchargement à la fin de cet article)

Beaucoup le savent, je suis passionné par Power BI, la course à pied mais beaucoup ignore ma folie acheteuse de chaussures de course à pied. (Personne n’est parfait !)

L’exemple fait référence à une liste de coureurs possédant à travers le temps d’une ou plusieurs paires de chaussures.

La table Runners:

La table Shoes

Spécificités du modèle

  • RunnerId (clé de la table Runner) est disponible pour toutes les chaussures.
  • Pour des raisons de performances, les bornes de date sont dupliquées et converties en type numérique.
    • ValidFrom – ValidFromInt 
    • ValidTo – ValidToInt

Pour les plus connaisseurs

C’est ici une dénormalisation de notre schéma en étoile composé d’un Bridge et d’une dimension.

Dans un Datawarehouse (Kimball), nous devrions avoir un Bridge: BridgeRunnerShoes et une dimension: DimShoes

Pourquoi ?

  • Pour des soucis de compréhension pour les utilisateurs. (Simplicité)
  • Le moteur Vertipaq se charge de compresser les informations redondantes
  • Cela évite une jointure / relation supplémentaire.

Plus d’information sur les Bridges

Multivalued Dimensions and Bridge Tables

Un modèle de données plus complet aurait pu ressembler à celui-ci

TimeLine

Analysons graphiquement les différentes intérections.

  1. L’utilisateur effectue un choix via le slicer PIT Date
  2. Le tableau change dynamiquement, pour n’afficher que les chaussures possédées à cette date.

P.S. La barre bleue dessinée sur la timeline a été ajoutée manuellement dans MS Paint. (Si vous connaissez un composant visuel qui permet de l’afficher, n’hésitez pas à me contacter)

Filter: 01/02/2019 | Pauline

Filter: 01/03/2019 | Pauline

Filter: 01/05/2019 | Pauline

Filter: 10/10/2019 | Pauline

Filter: 01/12/2019 | Pauline

Implémentation

Creation d’une table Calendrier

Il faut créer une table de type Date, qui ne sera pas associée à notre modèle. (Appelée ici PIT Calendar)

Pour créer rapidement une table Calendrier, je vous invite à le faire via le Query Builder. Les articles suivant vous donnerons la démarche.

Generating A Date Dimension Table In Power Query

https://www.mattmasson.com/2014/02/creating-a-date-dimension-with-a-power-query-script/

Création d’une mesure DAX

La mesure DAX suivante permet d’appliquer la date sélectionnée dans notre slicer PIT Calendar à la table Shoes

Comprendre la mesure DAX

ou

Reprendre la valeur sélectionnée pour notre slicer Date.

Cette variable sera appliquée dans notre filtre par la suite

Une variante de l’expression précédente peut être utilisée. Lorsque l’utilisateur ne spécifie pas de dates pour le slicer, nous appliquons la date du jour à notre PIT.

Pourquoi?

  • L’utilisateur souhaite avoir la situation du jour (sans devoir modifier le slicer PIT à chaque ouverture du rapport)
  • L’utilisateur à oublié de créer son rapport avec le slicer PIT. Plutôt que de lui proposer la situation dans le futur, on lui applique la situation actuelle.

La variable contenant maintenant la date sélectionnée par l’utilisateur est appliquée dynamiquement à notre set de données. (Shoes)

Conclusion

Vous savez maintenant comment rendre vos données vivantes.

N’hésitez pas à commenter si vous avez plus d’idées, des améliorations ou des astuces.

Retrouvez les exemples en téléchargeant le fichier Power BI:

https://github.com/arnaudgastelblum/LazySnail/raw/master/LazySnail_PointInTime.pbix

 

Un Pie Chart? C’est mal!

Un Pie Chart? C’est mal!

    Lors de ma présentation au Power Saturday à Paris, je voulais montrer à un public déjà très optimiste que Power BI était un excellent outil et que la modélisation de données était un élément indispensable pour leurs rapports. (La modélisation des données n’est pas le sujet ici)
Power BI un super outil? Oui, et pour compléter cette idée, j’ai ajouté des slides pour mettre en évidence chaque élément de l’outil.

L’une des slides montrait la facilité et l’élégance des visuels.
Après une recherche rapide dans les Google images, j’ai copié un screenshot créée par un utilisateur dans Power BI et l’ai ajoutée à ma présentation.

Dans le public, deux amis me regardaient avec un visage horrifié. Le mal était fait, j’avais glissé l’image d’un Pie Chart! Le bon vieux Camembert (ou Pizza, au choix)

Rien de fou, n’est-ce pas? Mais lorsque vous connaissez un peu l’historique du Pie Chart, on réalise que ce composant visuel n’est pas recommandé dans le monde de Data Viz. Cet article suit également quelques discussions plus ou moins tendues entre collègues. Des défenseurs et des autres, le fossé existe ! Et personnellement j’adore ce sujet ! Il illumine mes moments à la machine à café !

 

J’ai écris cet article pour plusieurs raisons:

  • Ce point est déjà hyper documenté sur le net, mais certaines personnes ne l’ont jamais lu avant. (Ce qui offre d’ailleurs toujours la possibilité de lancer le sujet à la machine à café)(Je fournis quelques liens à la fin de l’article)
  • Je voulais tout d’abord me convaincre personnellement! J’ai créé un Power BI avec des données fictives pour confirmer ce point. Le fait de le faire soit même, de tester avec plusieurs données, nous donne une autre vision! Je vous recommande de le faire également.

J’ai aimé les Pie Chart. Peut-être encore maintenant..

Je sais que leur utilisation n’est pas recommandée et je m’efforce de ne pas les utiliser.
Mais oui, j’ai encore un petit faible pour eux ! (Je suis conditionné)
• C’est beau !
• C’est coloré !
• Ça donne un aspect professionnel à nos rapports !
• Il nous montre des informations rapidement !
• Cela me procure une certaine fierté de ne pas utiliser de tableaux ou de matrices. (Oui, j’aime les chiffres, pas vous ?)

Je pense que nous avons l’habitude de voir ce type de visualisation depuis notre plus tendre enfance : dans des brochures commerciales, des documents professionnels. Hier encore je le voyais dans Cities Skyline (Un jeu à la simcity)

Le Pie Chart nous aide à renvoyer les informations rapidement. Mais malheureusement, cette information n’est pas toujours la bonne.

Pourquoi?

Pour comparer des regroupements de données, avec un Pie Chart nous évaluons la différence d’amplitude des différents angles tandis qu’un histogramme nous demandera de comparer les longueurs entre elles.

Une longue description n’est pas nécessaire, je préfère vous montrer deux datasets, tous deux représentés dans un Pie Chart et un histogramme.

Votre premier regard vous donnera des informations, mais pas aussi précises que les deux histogrammes ci-dessous. Il est possible d’avoir des informations rapides, mais très difficile d’en avoir une interprétation claire.

Si je ne vous ai pas convaincu, essayez de trier chaque portion du plus petit au plus grand. Essayez de faire la même chose avec l’histogramme et comparez le temps écoulé pour les deux.

PowerBI – Bookmarks

PowerBI – Bookmarks

Bookmarks are not perfect, I can easily confirm you. But with them, you can build beautiful and rich reports.

In this example, I will show you how your users can switch from one visual to another one.

Update Power BI Desktop : More information with less visuals ? Let’s use the Tooltip !

Update Power BI Desktop : More information with less visuals ? Let’s use the Tooltip !

*This post is an update to the video about the Tooltip*

It can be sometimes very difficult to put all the information we need in only one report page. Maybe I could remove this visual to add this one instead? But then, I won’t have the figures for this year. Maybe this one then? Impossible, otherwise I’ll miss the ranking of my product. It can easily become a real headache.

What if there was a wonderful feature inside Power BI Desktop allowing us to add more visuals to our report within the same space… Stop dreaming, I have a good news for you, it exist! Well, kind of. The tooltip will give you the opportunity to add a visual when you hover a cell of another visual. Still a bit confused? Let’s see how to do it and the final result.

As always, let’s first take the LazyDAX file (such a masterpiece I know). We can create a new page and add a new visual in it. Here is our “test” page with a simple Cost by Customer and by Year table.

Nothing complicated until there. By default, when you hover a cell of this report, you will only have a small definition of the cell, or maybe a quick resume of the whole line. Ok, why not but it’s not that interesting.

What we would like to have instead is something more relevant, more useful to the business and the end user, something more visual. Perfect, the tooltip is made for this. Let’s create a new blank page. It will be our tooltip page.

Now we can go on the format pane of the page. Under the “Page Information” tab, we will set “Tooltip” on “On”. That way, the page will be considered by Power BI as a tooltip

Now you can also go on the “Page Size” tab and choose the “Tooltip” type. You don’t have to do it but it’s better to keep something visually harmonious.

Now you can create the report that will be displayed as a tooltip to your report.  Let’s take something like the Cost by Product.

Here is the report with the tooltip format. Ok it gives more information but it’s not really readable. Don’t worry, just wait and see how the magic happens.

But first we have to go back to our report page and select the visual that will have the Cost by Product report as tooltip. Select the visual.

Go on the “Format” tab and enable “Tooltip”. Once it’s done, under “Type” you select “Report page” (the way you will see the tooltip) and then select “Tooltip Page” (the source page with your tooltip).

Now we can see the magic. When I hover one cell of my table, I will have the report of the “Tooltip Page” displayed and sorted by the current line.

This is a really simple way to add more information without overloading your page.

Once again, it was not something very difficult, you just had to be aware of it.

Pin It on Pinterest