2.5Hiérarchies & table de dates (calendrier)
L'analyse temporelle — évolution, cumuls, comparaison N-1 — exige une fondation : la table de dates dédiée. Une dimension calendrier avec une ligne par jour, ses colonnes Année/Trimestre/Mois/Jour, marquée comme « table de dates » et reliée aux faits. Sans elle, la time intelligence du niveau 3 ne fonctionne pas fiablement ; avec elle, tout devient simple.
Vous créerez le calendrier en DAX (CALENDARAUTO ou CALENDAR), le compléterez (année, mois, n° de mois pour le tri), le marquerez officiellement, et construirez la hiérarchie Année → Trimestre → Mois → Jour qui rend les visuels explorables.
Vocabulaire de la section
- Table de dates
- Dimension calendrier : une ligne par jour, continue sur la période, reliée à la date des faits — le socle de l'analyse temporelle.
- CALENDARAUTO / CALENDAR
- Les fonctions DAX qui génèrent le calendrier : CALENDARAUTO() balaie les dates du modèle ; CALENDAR(début; fin) les fixe explicitement.
- Marquer comme table de dates
- Le réglage officiel (outils de table) qui active le bon comportement des fonctions de time intelligence.
- Hiérarchie
- Année → Trimestre → Mois → Jour : l'exploration par niveaux dans les visuels (boutons de drill).
- Tri par colonne
- Le mois « avril » se classe avant « janvier » en alphabétique : on trie la colonne Mois par la colonne NuméroMois (Outils de colonne → Trier par colonne).
Pourquoi créer une table de dates dédiée ?
En pratique — Construire LE calendrier du modèle
- Nouvelle table (vue Table → Nouvelle table) : Dates = CALENDARAUTO().
- Ajoutez les colonnes : Année = YEAR(Dates[Date]) ; Mois = FORMAT(Dates[Date]; "mmmm") ; NumMois = MONTH(Dates[Date]) ; Trimestre = "T" & QUARTER(Dates[Date]).
- Triez Mois par NumMois (Outils de colonne → Trier par colonne), reliez Dates[Date] à Ventes[Date], puis Marquer comme table de dates.
- Créez la hiérarchie (clic droit sur Année → Nouvelle hiérarchie, ajoutez Trimestre, Mois) et utilisez-la dans votre courbe d'évolution : les boutons d'exploration apparaissent.
Points clés à retenir
- Une table de dates dédiée, continue, marquée officiellement : non négociable pour l'analyse temporelle.
- Le tri des mois passe par une colonne numérique : « Trier par colonne » est le réflexe.
- La hiérarchie Année → Mois rend chaque visuel temporel explorable (drill down).
- Une seule table de dates pour tout le modèle : toutes les analyses temporelles s'y branchent.
Questions fréquentes
La hiérarchie de dates automatique de Power BI ne suffit-elle pas ?
Elle dépanne sur un petit fichier mais crée une table cachée PAR colonne de date (poids !) et ne permet ni tri personnalisé ni time intelligence propre. Les professionnels la désactivent (Options → Chargement des données) au profit de LA table de dates.
CALENDARAUTO ou CALENDAR : lequel choisir ?
CALENDARAUTO() va vite et suit vos données ; CALENDAR(DATE(2024;1;1); DATE(2026;12;31)) fixe des bornes maîtrisées (recommandé quand des dates parasites — dates de naissance, 1900 — traînent dans le modèle).