Indexer la valeur précédente de date aléatoire dans Power Query

29 juillet 2022

À travers ce tutoriel, nous vous invitons à découvrir comment créer une logique temporelle (Time Intelligence) basée sur des dates irrégulières / aléatoires à partir de Power BI, l’outil de visualisation et d’analyse de données de Microsoft.

 

Qu’est-ce que la notion de « logique temporelle » ?

 

Travailler sur un jeu de données nécessite la plupart du temps de devoir manipuler des données chiffrées afin de les visualiser, les analyser, les comparer ou encore d’évaluer leur progression dans le temps.

Sur Microsoft Power BI, l’outil de visualisation de données, il est possible de manipuler la périodicité de vos données dans le temps (jours, mois, année …) en utilisation notamment la fonction de « Time Intelligence », via le langage de programmation informatique DAX (Data Analysis Expressions).

 

Tutoriel : Comment créer une logique temporelle dans Power BI ?

 

Pour illustrer cet exemple, nous avons choisi de travailler sur un jeu de données comportant des dates issues de la vente de deux produits distincts. Les dates de notre jeu de données sont présentées de manière aléatoire, tout simplement car il n’y a pas de régularité.

 

Étape 1 : Indexation des dates

 

Pour créer une logique temporelle, nous allons dans un premier temps dupliquer notre requête. Pour cela, rendez-vous dans le volet « Requêtes » situé sur votre gauche, effectuez un clic droit sur votre première requête, dans notre cas il s’agit de la requête « Time Intelligence irrégulière », puis sélectionnez l’option « Dupliquer » avant de renommer votre nouvelle requête.

Microsoft Power BI

L’objectif de cette manœuvre est de créer un index de dates pour chacun de nos deux produits. Pour cela, nous allons créer deux groupes.

Commencez par sélectionner la première colonne de votre base de données (« Produit » dans notre cas), cliquez ensuite sur l’onglet « Transformer » situé dans la fenêtre du menu, et choisissez l’option « Regrouper par ».

Au sein de la fenêtre de dialogue, vous allez venir sélectionner l’option « Toutes les lignes » dans la barre déroulante du champ « Opération ».

Power BI

 

Étape 2 : Création d’une colonne personnalisée

 

Nous allons ensuite procéder à la création d’une colonne personnalisée. Pour cela, cliquez sur l’onglet « Ajouter une colonne », puis « colonnes personnalisées ».

Dans la boîte de dialogue « Colonne personnalisée », nous allons venir insérer la fonction « Table.AddIndexColumn » dans le champ « Formule de colonne personnalisée ». C’est précisément cette fonction qui va nous permettre de mettre un index sur les dates de notre jeu de données.

Logique temporelle

Dans le premier paramètre de la fonction, nous intégrons la colonne « Nombre » de notre jeu de données, ensuite nous insérons le nom de la colonne Index en le plaçant entre guillemets (« DateIndex » dans notre exemple), puis la valeur initiale de notre index (1), et pour finir l’incrémentation (1).

À présent, nous avons bien créé notre colonne personnalisée.

Time Intelligence Power BI

Pour supprimer toutes les autres colonnes du jeu de données, effectuez un double clic sur la colonne « Personnalisé », cliquez sur « Supprimer toutes les autres colonnes », puis départagez la colonne « Personnalisé ».

Vous remarquerez à présent qu’un index a bien été créé pour chacune des dates de chaque produit.

Creer logique temporelle

Creer logique temporelle Power BI

 

Création d’un rapport dans Power BI

 

Rendez-vous maintenant sur Power BI, où nous allons créer un rapport de données afin de vérifier la valeur de vente à la date et au produit sélectionné, ainsi que la valeur de vente à la date précédente.

Nous allons donc pour cela utiliser deux visuels segments ainsi que deux visuels cartes, organisés de la manière suivante :

  • Visuel segment 1 = Produit ;
  • Visuel segment 2 = Date ;
  • Visuel carte 1 = Valeur de vente actuelle ;
  • Visuel carte 2 = Valeur de vente à la date précédente.

Pour compléter notre rapport, nous devons à présent créer une colonne contenant les valeurs de vente à la date précédente. Pour ce faire, cliquez sur l’onglet « Modélisation » dans la barre de menu, et sélectionnez « Nouvelle colonne ». Ensuite, dans la barre de fonction, veillez insérer la ligne de code ci-dessous, sans oublier de renseigner le nom des requêtes et des colonnes :

CO2 -1 = CALCULATE(FIRSTNONBLANK(Index[Emissions CO2 par Km],1),FILTER(Index,Index[Car Unique Reference]=EARLIER(Index[Car Unique Reference])&&Index[Date Index]=EARLIER(Index[Date Index])-1))

Logique temporelle Power BI Mype

Procédez ensuite au changement du type de données de la colonne « Date », que l’on placera en format date, ainsi que le type de données de la colonne « DateIndex » que l’on mettra au format nombre entier.

Pour finir, insérez votre nouvelle colonne (« Vente -1 » dans notre cas) dans le visuel carte récemment créé. Vous remarquerez alors que dans notre jeu de données, la colonne « Vente -1 » correspond bien à la valeur de vente à la date précédente.

Astuce : Pour procéder à une vérification, il vous suffit de sélectionner le produit avec la date en question, sur le visuel segment situé dans le canevas central.

À noter que vous pouvez également créer une nouvelle colonne « Vente – 2 » en répétant exactement le même procédé que pour la colonne « Vente – 1 ». Sur votre jeu de données apparaîtra alors votre nouvelle colonne.

 

Vous pourriez également apprécier cet article : Créer une logique temporelle (Time Intelligence) sur Power Query

Articles en relation

Devenez un expert en Power BI

avec nos formations 100% pratique et sur mesure
Découvrir nos formations

Retrouvez nos autres marques

linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram