2.5 · Hiérarchies & table de dates (calendrier)

Niveau 2 · Intermédiaire : modèle de données & introduction au DAX

2.5Hiérarchies & table de dates (calendrier)

Objectif : créer des hiérarchies (année/mois/jour) et une table de dates dédiée pour l'analyse temporelle.
Temps estimé : 18 min

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).
Vérifiez votre compréhension

Pourquoi créer une table de dates dédiée ?

Hiérarchies & table de dates (calendrier)
Vidéo hébergée sur YouTube — ouvrir dans un nouvel onglet ↗
Tutos « 2.5 » Power BI hiérarchies table dates calendrier DAX (recherche)
Cliquer pour voir les résultats à jour ↗

En pratique — Construire LE calendrier du modèle

  1. Nouvelle table (vue Table → Nouvelle table) : Dates = CALENDARAUTO().
  2. Ajoutez les colonnes : Année = YEAR(Dates[Date]) ; Mois = FORMAT(Dates[Date]; "mmmm") ; NumMois = MONTH(Dates[Date]) ; Trimestre = "T" & QUARTER(Dates[Date]).
  3. Triez Mois par NumMois (Outils de colonne → Trier par colonne), reliez Dates[Date] à Ventes[Date], puis Marquer comme table de dates.
  4. 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.
Un calendrier aux normes, relié et hiérarchisé — la time intelligence du niveau 3 est déverrouillée.

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).

Autres ressources

Testez-vous : quiz du niveau 25 questions pour valider vos acquis avant de passer au niveau suivant