Une astuce simple pour ne pas afficher des dates ultérieures à la date du jour, sur PowerBI

Vous le savez déjà : Power BI est un logiciel de data visualisation puissant permettant d’afficher et de représenter graphiquement vos données, quelle que soit la source.

Un des élément importants auquel il faut veiller, c’est la propreté des données en amont de l’automatisation des différentes visualisations.

Or, si les données sont mal renseignées, vous pouvez voir apparaître des dates ultérieures à la date du jour, ce qui peut ainsi fausser vos visualisations.

Nous allons voir dans cet article, comment faire disparaître des données liées à une date ultérieure, d’une façon simple et totalement automatisée.

PS : les données utilisées dans l’article sont factices.

1. Préparer l’environnement nécessaire

Pour commencer, il faut un champ de date correctement renseigné et « typé » que nous allons utiliser pour effectuer notre filtre. Pour illustrer cela, nous allons utiliser un jeu de données reprenant la structure typique d’une concession automobile, en prenant comme référence la date de commande.

Pour bien typer votre champ de date, il faut simplement cliquer sur le champ à droite de l’écran puis dans l’onglet « Outils de colonne », changer le « Type de données » en « Date » ou « Date/heure ».

2. Créer la nouvelle colonne

Dans notre exemple, nous sommes le 28/07/2021. 

Dans le tableau ci-dessous, il y a 5 lignes au total, mais seules les 3 premières lignes ont une date de commande antérieure à cette date.

Le but est de ne faire apparaître que ces 3 premières lignes et de ne faire apparaitre la 4ème ligne seulement lorsque nous atteindrons la date du 01/08/2021.

Pour cela, nous allons créer une nouvelle colonne dans la table « Commande » (clic droit sur la table puis « Nouvelle colonne »). Une fenêtre permettant d’écrire une fonction DAX apparaît. C’est ici que nous allons créer la fonction nous permettant de savoir si une date donnée est antérieure ou ultérieure à la date d’aujourd’hui.

Voici la fameuse fonction :

nom_de_colonne = DATEDIFF(TODAY(),’nom_de_table'[nom_du_champ_date],DAY)

Pour notre exemple, cela donnera :

Cette fonction a pour simple but de calculer la différence, en nombre de jours, entre la date du jour et la date donnée.

  • Si la date donnée est antérieure, le résultat sera négatif
  • Si la date est ultérieure, le résultat sera positif
  • Si la date est celle du jour, le résultat sera 0.

3. Filtrer sur la colonne

Enfin, il faut poser un filtre sur les résultats de cette colonne grâce à l’onglet de filtre : glisser/déposer la colonne créée dans un des niveau de filtre disponibles (Filtres dans toutes les pages, Filtres dans cette page, Filtres sur ce visuel).

Ensuite, nous voulons observer les données où la valeur de la colonne (date_diff dans notre exemple) est inférieure ou égale à 0 (une condition inférieure stricte fera disparaître les données où la date donnée est égale à la date du jour).

Il n’y a plus qu’à appliquer le filtre et le tour est joué !