Créer une table de dates personnalisée
La création d'une table de dates personnalisée est une étape importante dans la conception du modèle de données dans Power BI. Dans cet article, je vous montre comment en créer une.
Défnition
Une table de dates ou un calendrier est une table de dimension des dates. Elle fournit des informations supplémentaires sur les dates telles que le jour de la semaine, le numéro du jour, la semaine, le mois, le trimestre, le semestre, l'année et bien d'autres. La table de dates a pour objectif de faciliter l'analyse temporelle.
Pourquoi créer un calendrier
Par défaut, lorsque Power BI détecte des dates dans les données, il génère automatquement des colonnes de détails telle que l'année, le trimestre et le mois. D'une part, les détails ne sont pas exhaustifs et d'autre part, elles sont difficiles à utiliser. D'autre part, il se peut qu'il y ait des dates manquantes dans vos données, ce qui peut causer des soucis dans l'analyse des données. Par convention, il est commun et recommandé de désactiver ce mécanisme en désactivant l'option Time Intelligence afin de gérer vous-mêmes les dates, d'où la table de dates.
Désactiver l'option Time Intelligence
Comme expliqué plutôt, nous allons désactiver l'option Time Intelligence. Pour cela, suivez les instructions suivantes
Cliquez sur l'onglet Fichier
Séléctionnez Options et paramètres
Séléctionnez Options
Il y a deux façons de procéder, vous pouvez désactiver l'option glablement dans Power BI ou uniquement dans le fichier actif. Je vous recommande de désactiver l'option globalement.
Créer une nouvelle table
La table de date est une table qui sera générer à partir d'une formule DAX, plus précisement par la fonction CALENDAR
.
La fonction CALENDAR
prend en entrée deux paramètres:
StartDate
: Date de débutEndDate
: Date de fin
Elle retourne une table d'une colonne Date
.
Dans la barre de formule, insérer la formule ci-dessous.
Ajouter de nouvelles colonnes
Colonne | Formule |
---|---|
Mois | Mois = FORMAT('calendar'[Date], "yyyy-mm") |
Année | Année = FORMAT('calendar'[Date], "yyyy") |
Jour du mois | N°Jour = FORMAT('calendar'[Date], "dd") |
Jour de la semaine | N°Jour = FORMAT('calendar'[Date], "w") |
Date corrigée | Date Corrigée = IF( 'calendar'[Date] = 'calendar'[Dernière Date], "Last Day", "" & FORMAT('calendar'[Date], "yyyy-MM-dd")) |
Mois corrigé | Mois Corrigé = IF('calendar'[mth] = 'calendar'[Dernier Mois], "Last Month", 'calendar'[Mois]) |
Il est possible d'ajouter toutes les colonnes
calendar =
ADDCOLUMNS (
CALENDAR(
MIN(rech_combined_kpi[dt]),
MAX(rech_combined_kpi[dt])
),
"Date (Bis)", [Date],
"Date (Bis1)", [Date],
"Date (Bis2)", [Date],
"Date (Bis3)", [Date],
"Date (Bis4)", [Date],
"Date (Bis5)", [Date],
"Mois", FORMAT([Date], "yyyy-mm"),
"Année", FORMAT([Date], "yyyy"),
"N°Jour", FORMAT([Date], "dd"),
"N°Jour Semaine", FORMAT([Date], "w"),
"Jour Semaine", FORMAT([Date], "w. ddd"),
"Semaine", FORMAT([Date], "yyyy") & "-S" & IF(WEEKNUM([Date])<10,"0" & WEEKNUM([Date]), WEEKNUM([Date]))
)
Marquer comme table de dates
La dernière étape consiste à indiquer à Power BI que la table que l'on vient de créer est une table de date. Pour cela, on se rend dans vue Données. Pour cela, suivez les instructions suivantes.
Indiquer la relation
Notre table de date ne sera opérationnelle que lorsqu'elle sera liée à la table de faits myTable
.
Cacher la colonne de date
Étant donné que nous avons notre propre table de dates, la colonne de date de la table myTable
ne sera plus nécessaire, je vous suggère de la cacher pour éviter toute confusion. Pour cela, suivez les instructions suivantes.
Créer des mesures utilitaires
Il peut être très intéressant d'indiquer dans votre rapport l'historique des données disponibles. Cela permet aux utilisateurs de savoir si le rapport est à jour par exemple. Pour cela je vous propose de mettre en place quelques mesures.
La première date de l'historique
La dernière date de l'historique
Message la dernère date de l'historique
Dernière mise à jour =
"Dernière mise à jour : " & FORMAT ( 'calendar'[Dernière Date], "dd-MM-yyyy" )
Le dernier mois de données
Bravo, votre table de dates est prête pour l'utilisation. Cette étape est très importante et vous le comprendrez par la suite. Vous l'aurez compris, vous pouvez rajouter autant de détails que vous voulez.