Calendrier = ADDCOLUMNS(
CALENDARAUTO() ,
"Année" , FORMAT([Date],"YYYY"),
"Rang Année", RANKX(CALENDARAUTO(), YEAR([Date]), , ASC, Dense),
"Trimestre" , FORMAT([Date],"TQ"),
"Année Trimestre" , FORMAT([Date],"YYYY-TQ"),
"Rang Trimestre" , RANKX(CALENDARAUTO(), FORMAT([Date],"YYYY-TQ"), , ASC, Dense),
"Mois Chiffre" , FORMAT([Date],"MM"),
"Mois Lettre" , FORMAT([Date],"MMMM"),
"Mois LETTRES" , UPPER( FORMAT([Date],"MMM") ),
"Année Mois" , FORMAT([Date],"YYYY-MM"),
"Rang Mois" , RANKX(CALENDARAUTO(), FORMAT([Date],"YYYY-MM"), , ASC, Dense),
"Semaine" , FORMAT(WEEKNUM([Date], 2), "00"),
"Année Semaine" , YEAR([Date]) & "-" & FORMAT(WEEKNUM([Date], 2), "00"),
"Rang Semaine", RANKX(CALENDARAUTO(), YEAR([Date]) & "-" & FORMAT(WEEKNUM([Date], 2), "00"), , ASC, Dense)
)
La colonne Date de cette table Calendrier pourra être reliée dans votre projet à toutes les tables existantes contenant des colonnes de dates qu’il faudra analyser. Vous pourrez copier/coller ce code tel quel après avoir créer une Nouvelle table à partir de l’onglet Outils de table. Cette table de dates universelle pourra vous servir pour tous vos projets et pour toutes vos mesures DAX de type Date to Date appelées également mesures de Time Intelligence. N’oubliez pas de marquer cette table comme Table de dates de référence.
Remarque : les colonnes Rang vous permettront de réaliser facilement des calculs comparatifs d’une période à l’autre à partir d’une simple mesure de filtre du type CALCULATE( Expression , [Rang Mois] = MAX( [Rang Mois] ) ) qui affichera la valeur de l’Expression pour le dernier mois du Calendrier.
CALCULATE( Expression , [Rang Mois] = MAX( [Rang Mois] ) – 1 ) affichera la valeur de l’expression pour l’avant dernier mois, etc…