CALENDAR et CALENDARAUTO dans Power BI : créer une vraie table de dates en DAX

octobre 2, 2026
 - Rédigé par Khaled Mahmoud
CALENDAR et CALENDARAUTO dans Power BI

Une bonne analyse temporelle commence presque toujours par une table de dates propre. Sans cette table, vos calculs par mois, trimestre, ou année deviennent rapidement difficiles à contrôler. Power BI propose plusieurs méthodes pour créer ce calendrier.

Vous pouvez importer une table depuis Excel, utiliser Power Query, ou créer la table directement en DAX avec la fonction Calendar de Power BI.

Dans cet article, nous allons surtout utiliser CALENDAR ET CALENDARAUTO. Ces deux fonctions créent rapidement une table de dates directement dans le modèle Power BI. Nous verrons aussi comment choisir la bonne méthode selon votre projet.

Pourquoi créer un calendrier Power BI ?

Une table de dates contient une ligne pour chaque date de votre période d'analyse. Elle sert ensuite de référence temporelle pour les autres tables du modele. Par exemple, votre table principale peut contenir une colonne DATE avec plusieurs transactions quotidiennes.

Votre calendrier contient, lui, une seule ligne pour chaque date. Vous reliez ensuite Calendrier [Date] à la colonne DATE avec plusieurs transactions quotidiennes.

Ainsi, vous pouvez filtrer vos données par année, mois, jour ou jour de semaine. Vous pouvez aussi créer des calculs temporels plus fiables. Microsoft recommande des dates uniques, continues et sans valeurs vides dans une table de dates.

La plage doit aussi couvrir des années complètes pour l'intelligence temporelle classique

Qu-est ce que la fonction CALENDAR dans Power BI ?

Calendar de Power BI est une fonction DAX qui retourne une table contenant une seule colonne appelée DATE. Cette colonne contient toutes les dates comprises entre une date de début et une date de fin.

Les deux dates font partie du résultat.

Calendar(<date_début>, <date_fin>)

Vous pouvez saisir des dates fixes.

Cependant, cette méthode demande une modification lorsque votre période d'analyse change.

Par exemple :

Calendrier = calendar(

Date(2024,1,1),

Date(2026, 12,31)

)

Cette formule crée une ligne pour chaque journée entre les deux dates. Cependant, je préfère généralement calculer les limites depuis les données.

Ainsi, le calendrier évolue avec votre modèle.

Créer une table avec CALENDAR Power BI à partir des données

Imaginons une table nommée Données avec une colonne Données[Date]. Nous voulons couvrir toutes les années présentes dans cette table.

Nous pouvons écrire :

Calendrier =
VAR PremièreDate = Min(Données[Date]),
VAR DernièreDate = Max(Données[Date])
Return
Calendar(
Date(Year(PremièreDate), 1,1),
Date(Year(DernièreDate), 12,31),

)

Cette version possède une avantage important.

Elle commence au premier janvier de la première année disponible. Ensuite, elle termine au trente-et-un décembre de la dernière année disponible.
Ainsi, votre table couvre toujours des années civiles complètes.

De plus, vous gardez un contrôle précis sur la colonne utilisée pour déterminer la plage.

Calendar de Power BI convient donc très bien lorsque vous connaissez la date principale du modèle.

Comment créer une table de dates complète avec CALENDAR Power BI ?

Une colonne Date seule ne suffit généralement pas pour construire un rapport confortable. Vous aurez souvent besoin de l'année, du mois, du jour, et du jour de semaine. Vous pouvez ajouter ces informations avec ADDCOLUMNS.

Voici une version plus complète :

Calendar et CALENDARAUTO dans Power BI

Cette formule construit déjà un calendrier Power BI très utile.

YEAR récupère l'année de chaque date. Ensuite, MONTH retourne le numéro du mois. Format affiche le nom du mois. Day retourne le numéro du jour dans le mois. Enfin, WEEKDAY calcule ensuite la position du jour dans la semaine.

Ajouter le trimestre et un libellé mois-année

Dans un vrai rapport, j'ajoute souvent quelques colonnes supplémentaires. Elles facilitent les axes temporels et les segments. Vous pouvez compléter la formule précédente avec ces colonnes :

"Trimestre", "T" & FORMAT([Date], "Q"),
"MoisAnnée", FORMAT([Date], "MMM, yyyy"),
"AnnéeMoisTri", YEAR([Date]) * 100 + MONTH([Date])

La colonne AnnéeMoisTri aide à trier correctement les libellés MoisAnnée. Sans colonne de Tri, Power BI peut classer les mois alphabétiquement. De même, triez Mois avec NumMois, ainsi, janvier apparaît avant février, puis mars.

Qu-est ce que CALENDARAUTO dans Power BI ?

CALENDARAUTO crée aussi une table avec une seule colonne DATE. Cependant, vous ne fournissez aucune date de début ou de fin. Power BI examine les dates présentes dans le modèle. Ensuite. CALENDARAUTO détermine automatiquement la plage nécessaire.

La syntaxe la plus simple reste :

Calendrier = CALENDARAUTO()

Calendar et CALENDARAUTO dans Power BI

Créer une table complète avec CALENDARAUTO Power BI

Vous pouvez reprendre exactement la même logique d'enrichissement.

Calendar et CALENDARAUTO dans Power BI

Cette formule convient parfaitement à un modèle simple contenant des dates cohérentes. Cependant, CALENDARAUTO regarde les dates de plusieurs colonnes du modèle. Une ancienne date technique peut élargir inutilement votre calendrier. Une date future très éloignée peut produire le même effet. Dans ce cas, CALENDAR offre souvent un meilleur contrôle.

CALENDAR ou CALENDARAUTO : laquelle choisir ?

Le choix dépend principalement du contrôle souhaité sur la période. Choisissez CALENDAR lorsque vous connaissez les colonnes qui doivent définir votre période d'analyse. Cette approche convient aussi lorsque votre modèle contient plusieurs colonnes de dates très différentes.

Par exemple, certains colonnes peuvent contenir des dates historiques sans intérêt analytique. CALENDAR évite alors d'étendre votre table inutilement.

En revanche, choisissez CALENDARAUTO lorsque votre modèle reste simple. Cette fonction convient bien lorsque toutes les dates du modèle appartiennent au même périmètre temporel. Elle réduit aussi la maintenance lorsque de nouvelles dates arrivent régulièrement. Pour débuter, CALENDARAUTO, reste donc très pratique. Cependant, CALENDAR devient souvent préférable lorsque le modèle gagne en complexité.

CALENDARAUTO et année fiscale

CALENDARAUTO accepte un paramètre facultatif pour le dernier mois de l'année fiscale. Par exemple, utilisez 6 lorsque votre année fiscale se termine en juin.

Calendrier = CALENDARAUTO(6)

Dans ce cas, l'année fiscale commence en juillet et se termine en juin. Microsoft précise que ce paramètre accepte un entier entre 1 et 12. Cette option évite plusieurs ajustements manuels sur la plage de dates.

CALENDARAUTO et DATE/heure automatique ne désignent pas la même chose

Cette distinction mérite une attention particulière. Power BI propose une option appelée Date/heure automatique. Cette option crée des tables de dates cachées pour certaines colonnes de type date. Elle ajoute aussi automatiquement des niveaux année, trimestre, mois et jour.

CALENDARAUTO fonctionne autrement. Vous créez vous même une table calculée visible dans votre modèle. Vous pouvez ensuite ajouter vos colonnes et contrôler vos relations. Microsoft réserve surtout Date/heure automatique aux modèles simples et aux analyses ponctuelles.

Pour un modèle réutilisable, je préfère généralement une table de dates explicite. Elle rend le modèle plus lisible et plus cohérent.

CALENDAR, Tableau Date importé ou Power Query : quelle méthode choisir ?

Vous pouvez parfaitement importer une table de dates complète dans Power BI depuis une source de données comme Excel ou CSV. Cette méthode devient intéressante lorsque votre organisation possède déjà un calendrier de référence. Ce fichier peut contenir des jours fériés, périodes internes ou règles métier spécifique. Cependant, évitez de maintenir manuellement un simple calendrier uniquement pour Power BI. DAX peut générer cette structure directement dans le modèle.

Power Query constitue aussi une excellente option. Je le privilégie lorsque plusieurs modèles doivent réutiliser exactement le même calendrier. Vous pouvez alors centraliser cette logique dans une source ou un dataflow. Microsoft recommande aussi de réutiliser une table de dates existante dans la source. Cette recommandation concerne notamment les modèles connectés à un entrepôt de données.

Pour DirectQuery, Microsoft recommande fortement une table de dates disponible dans la source. En revanche, DAX reste très pratique pour un modèle import autonome. Microsoft indique aussi que DAX peut offrir une solution plus facile pour générer cette table.

Tableau comparatif des méthodes

MéthodeQuand l'utiliserPrincipal avantage
CALENDARVous pouvez contrôler précisément la plageContrôle des dates
CALENDARAUTOVotre modèle reste simpleMaintenance réduite
Table importéeUn calendrier officiel existe déjà Réutilisation d'une référence
Power Query Plusieurs modèles partagent la même logiqueCentralisation

Aucune méthode ne gagne dans tous les projets. Le contexte du modèle doit guider votre choix.

Que faire après la création du calendrier ?

Après la création, reliez Calendrier [Date] à la date de votre table principale. Votre calendrier doit se trouver du côté "un" de la relation. Ensuite, utilisez les colonnes du calendrier dans vos segments et vos axes. Évitez d'utiliser directement les colonnes temporelles de la table principale.

Cette habitude facilite les calculs temporels et garde votre modèle cohérent. Avec l'intelligence temporelle classique, marquez aussi votre calendrier comme table de dates. Power BI vérifie alors l'unicité, l'absence de valeurs vides et la continuité des dates. Microsoft recommande désormais l'intelligence temporelle basée sur le calendrier pour certains scénarios. Cependant, vous rencontrez encore très souvent l'approche classique dans les modèles existants.

Notre formation Power BI gratuite

Vous souhaitez pratiquer ces notions avant de construire des modèles plus avancés ? Notre formation Power BI gratuite vous aide à consolider les bases essentielles de Power BI. Vous pouvez notamment revoir l'importation, la transformation et les premiers calculs DAX.

Cette formation convient particulièrement aux débutants qui souhaitent progresser avec une méthode structurée. Elle constitue aussi une bonne étape avant une formation plus complète.

Un exemple concret d'utilisation

Imaginons que votre table Ventes contienne Date, Quantité et Montant. Vous voulez afficher le montant par année, mois et jour de semaine. Créez d'abord la table calendrier avec CALENDAR, ensuite créez la relation entre Calendrier [Date] et Ventes [Date].

Ajouter année et mois depuis Calendrier dans vos visuels. Vous pouvez ensuite comparer le montant entre jours de semaine et weekends. Ajoutez simplement Weekend dans un segment ou dans la légende d'un visuel. Ainsi, une seule table organise toute votre analyse temporelle. Vous pouvez ensuite ajouter des mesures cumulées, annuelles ou comparatives.

Les erreurs fréquentes à éviter

La première erreur consiste à créer un calendrier qui ne couvre pas toutes les dates. Vérifiez donc toujours la première et la dernière date du calendrier. Ensuite, évitez les dates manquantes. Une table de dates doit contenir une ligne pour chaque journée de la période. De plus, ne reliez pas plusieurs calendriers sans raison claire. Un calendrier unique suffit souvent pour un modèle débutant. Enfin, surveillez CALENDARAUTO lorsque votre modèle contient des dates techniques ou très anciennes. Dans ce contexte, CALENDAR vous donnera souvent une plage plus propre.

Notre formation certifiante Power BI Pilotage Pro

Vous souhaitez aller plus loin et construire des rapports Power BI de manière autonome ?

Notre formation Power BI pilotage pro propose un parcours structuré autour des compétences essentielles. Vous travaillez notamment Power Query, la modélisation, DAX, la création de rapports et Power BI service. Le parcours inclut aussi un accompagnement pédagogique pour vous aider à appliquer les notions étudiées. Ainsi, vous progressez sur des exercices concrets tout en gardant un cadre d'apprentissage organisé. Le parcours est certifiant et vous prépare à passer la certification RS7103 à l’issue de la formation.

Conclusion

Calendar et CALENDARAUTO répondent au même besoin avec deux logiques différentes. Calendar vous donne le contrôle sur la plage de dates. CALENDARAUTO détermine cette plage depuis les dates présentes dans le modèle.

Pour un petit modèle propre, CALENDARAUTO offre souvent une solution rapide. Pour un modèle plus complexe, CALENDAR apporte généralement davantage de maîtrise. Ensuite enrichissez votre calendrier avec année, mois, jour, weekday et weekend. Vous obtiendrez ainsi une base solide pour vos analyses temporelles dans Power BI.

Scale Formations est un organisme de formation certifié Qualiopi spécialisé dans les formations Power Platform à distance
2 allée rodin, 93800 Épinay-sur-seine
01 89 70 66 09
bonjour@scaleformations.fr
la certification qualité a été délivrée au titre de la catégorie d’action suivante : actions de formation