Votre site référence pour maîtriser Power BI proposé Morpheus Formation,
DATEDIFF : comment calculer la différence entre deux dates en DAX
Vous cherchez à maîtriser les dates dans Power BI ? La fonction DATEDIFF() est un outil essentiel pour comparer des dates. Que vous soyez analyste ou novice, cette fonction vous aide à mesurer facilement le temps entre deux événements.
Dans cet article, nous allons explorer en détail comment utiliser DATEDIFF(). Nous verrons sa syntaxe, des exemples pratiques et des cas d’utilisation courants. Prêt à plonger dans le monde des dates ? C’est parti !
| Si vous voulez… | Syntaxe à utiliser |
|---|---|
| Calculer le nombre de jours entre deux dates |
DATEDIFF(DateDébut, DateFin, DAY)
|
| Calculer le nombre de mois entre deux dates |
DATEDIFF(DateDébut, DateFin, MONTH)
|
| Calculer le nombre d’années entre deux dates |
DATEDIFF(DateDébut, DateFin, YEAR)
|
| Calculer le nombre de semaines entre deux dates |
DATEDIFF(DateDébut, DateFin, WEEK)
|
Qu’est-ce que la fonction DATEDIFF() ?
La fonction DATEDIFF() dans Microsoft Power BI est utilisée pour calculer la différence entre deux dates. Elle renvoie un nombre qui représente le nombre d’unités de temps entre ces dates. Cela peut être des jours, des mois ou des années, selon ce que vous choisissez.
Voici la syntaxe de la fonction :
DATEDIFF(<Date1>, <Date2>, <Interval>)

Cette fonction est très utile pour divers rapports et analyses. Par exemple, vous pouvez l’utiliser pour :
- Calculer l’âge d’un client.
- Mesurer le temps écoulé entre deux événements.
- Analyser les tendances sur une période donnée.
DATEDIFF fait partie du langage DAX, utilisé dans Power BI pour créer des colonnes calculées et des mesures. Pour mieux comprendre son fonctionnement, consultez notre guide complet pour utiliser DAX dans Power BI.
En résumé, DATEDIFF() est un outil puissant pour manipuler les dates dans Power BI. Elle permet d’obtenir rapidement des informations précieuses sur la temporalité des données.
Explication de la syntaxe de DATEDIFF()
Voici une analyse et une explication des éléments de la syntaxe :
DATEDIFF(<Date1>, <Date2>, <Interval>)
La syntaxe comprend :
- date1 : La première date à comparer. Aussi appelée date de début.
- date2 : La seconde date à comparer. Aussi appelée date de fin.
- unité : L’unité de mesure de la différence (jours, mois, années, etc.).
Pour utiliser DATEDIFF(), ces trois arguments sont requis, voici à quoi ils correspondent :
- date1 : Cela peut être une colonne de date ou une expression qui retourne une date.
- date2 : De même, cela doit être une date valide.
- unité : Choisissez parmi les options suivantes :
Chaque argument doit être soigneusement choisi pour obtenir des résultats précis.
Comment utiliser DATEDIFF() dans Power BI
La fonction DATEDIFF() est très utile pour comparer des dates. Elle prend trois arguments : la date de début, la date de fin, et l’unité de temps (jours, mois, années, etc.). Voici quelques exemples :
- Calculer la différence en jours :
DATEDIFF(DateDébut, DateFin, DAY) - Calculer la différence en mois :
DATEDIFF(DateDébut, DateFin, MONTH) - Calculer la différence en années :
DATEDIFF(DateDébut, DateFin, YEAR)
Ces exemples permettent d’obtenir la différence entre deux dates selon l’unité choisie. Par exemple, si vous souhaitez connaître le nombre de jours entre deux ventes, utilisez DATEDIFF(DateVente1, DateVente2, DAY).
Cas d’utilisation courants
Voici quelques cas d’utilisation courants de la fonction DATEDIFF() dans Power BI :
- Analyse des ventes : suivre le temps écoulé entre les ventes pour optimiser les promotions.
- Gestion des projets : calculer la durée entre le début et la fin d’un projet.
- Suivi des clients : mesurer le temps entre deux achats pour améliorer la fidélisation.
Ces cas montrent comment DATEDIFF() peut aider à prendre des décisions éclairées. En utilisant cette fonction, vous pouvez mieux comprendre les comportements et les tendances dans vos données.
Comment calculer la différence entre deux dates sur Power BI ?
Dans Power BI, il est fréquent de vouloir mesurer la période couverte par un ensemble de données. Pour cela, DAX permet de combiner DATEDIFF(), FIRSTDATE() et LASTDATE().
Exemple : calculer le nombre de jours entre la première et la dernière date de vente.
Période Analyse =
DATEDIFF(
FIRSTDATE(Sales[OrderDate]),
LASTDATE(Sales[OrderDate]),
DAY
)
Dans cette formule :
- FIRSTDATE() retourne la première date visible dans le contexte de filtre
- LASTDATE() retourne la dernière date visible
- DATEDIFF() calcule la différence entre ces deux dates
Ce calcul est particulièrement utile pour :
- mesurer la durée d’activité d’un client
- analyser une période de ventes
- suivre une fenêtre temporelle dans un rapport filtré
Attention : le résultat dépend du contexte de filtre actif dans Power BI.
Pour que ce type de mesure fonctionne correctement dans un rapport, il est recommandé de créer une table de dates dans Power BI avec la fonction CALENDAR(), puis de la relier à la table de faits.
Vous pouvez également générer automatiquement une table de dates avec CALENDARAUTO() lorsque vous souhaitez que Power BI détermine lui-même la période couverte par le modèle.
Calculer le nombre de jours entre deux dates
Pour calculer un délai en jours, utilisez l’intervalle DAY. Par exemple, cette colonne calcule le nombre de jours entre une commande et sa livraison :
Délai de livraison =
DATEDIFF(
Sales[OrderDate],
Sales[DeliveryDate],
DAY
)
Le résultat correspond au nombre de jours séparant les deux dates.
Calculer le nombre de mois entre deux dates
Pour mesurer une ancienneté ou la durée d’un abonnement en mois, utilisez l’intervalle MONTH :
Ancienneté en mois =
DATEDIFF(
Customers[StartDate],
Customers[EndDate],
MONTH
)
La fonction retourne le nombre de changements de mois franchis entre les deux dates.
Calculer le nombre d’années entre deux dates
Pour calculer une ancienneté en années, utilisez l’intervalle YEAR :
Ancienneté en années =
DATEDIFF(
Employees[HireDate],
TODAY(),
YEAR
)
Cette formule mesure le nombre de changements d’année entre la date d’embauche et aujourd’hui.
Calculer le nombre de semaines entre deux dates
Pour calculer un intervalle en semaines, utilisez l’unité WEEK dans la fonction DATEDIFF(). Par exemple, cette formule mesure le nombre de semaines entre le début et la fin d’un projet :
Durée en semaines =
DATEDIFF(
Projects[StartDate],
Projects[EndDate],
WEEK
)
DATEDIFF retourne ici le nombre de changements de semaine franchis entre les deux dates. Pour obtenir un nombre exact de semaines à partir d’un nombre de jours, vous pouvez aussi diviser la différence en jours par 7.
Pourquoi DATEDIFF() peut donner un résultat surprenant ?
La fonction DATEDIFF() ne calcule pas toujours une durée exacte.
Elle compte le nombre d’intervalles franchis entre deux dates.
Exemple :
DATEDIFF(
DATE(2025,1,31),
DATE(2025,2,1),
MONTH
)
Résultat : 1
Même si un seul jour s’est écoulé.
Pourquoi ? Parce que DAX détecte qu’un nouveau mois a été franchi.
Ce comportement est particulièrement important avec :
- MONTH
- QUARTER
- YEAR
Il faut donc bien comprendre cette logique pour éviter d’interpréter un résultat comme une durée “réelle”, alors qu’il s’agit d’un comptage d’intervalles.
Que se passe-t-il si la date de début est après la date de fin ?
Si la date de début (start_date) est plus récente que la date de fin (end_date), DATEDIFF() retourne une valeur négative.
Exemple :
DATEDIFF(
DATE(2026,5,10),
DATE(2026,5,1),
DAY
)
Résultat : -9
Ce comportement peut être utile pour détecter des anomalies ou mesurer un écart inversé.
Il est donc important de vérifier l’ordre des dates selon votre logique métier.
DATEDIFF() ou soustraction de dates : quelle méthode choisir en DAX ?
En DAX, il existe deux façons courantes de calculer une différence entre deux dates : utiliser DATEDIFF() ou soustraire directement deux dates.
La différence principale est que DATEDIFF() permet de choisir explicitement une unité de temps, alors que la soustraction retourne généralement une durée brute en jours.
Par exemple, avec une soustraction directe :
Sales[DeliveryDate] - Sales[OrderDate]
Le résultat correspond à une différence simple entre les deux dates.
Avec DATEDIFF(), vous pouvez préciser l’unité souhaitée :
DATEDIFF(
Sales[OrderDate],
Sales[DeliveryDate],
DAY
)
Utilisez DATEDIFF() lorsque vous avez besoin d’un calcul lisible ou d’une unité précise comme MONTH, YEAR ou HOUR.
La soustraction reste utile pour des calculs simples en jours.
À retenir sur DATEDIFF
Maintenant que vous connaissez la fonction, voici ce que vous devez faire, et ne pas faire avec :
| Erreurs à éviter | Bonnes pratiques |
|---|---|
| Utiliser une colonne enregistrée comme texte | Vérifier que les colonnes sont au format Date ou Date/heure |
| Considérer un résultat négatif comme une erreur | Vérifier l’ordre des dates selon le calcul recherché |
Utiliser MONTH ou YEAR en pensant obtenir une durée exacte | Se rappeler que DATEDIFF compte les intervalles calendaires franchis |
| Choisir une unité qui ne correspond pas au besoin | Utiliser DAY, MONTH ou YEAR selon le résultat attendu |
| Appliquer la formule sans vérifier le résultat | Tester le calcul sur quelques dates dont l’écart est déjà connu |
| Répéter des expressions complexes dans la formule | Utiliser des variables DAX pour améliorer la lisibilité |
Questions fréquentes sur DATEDIFF()
La fonction DATEDIFF() de Power BI suscite souvent des questions. Voici deux interrogations courantes que les utilisateurs se posent.
Si date1 et date2 sont identiques, le résultat de DATEDIFF() sera toujours 0. Cela signifie qu’il n’y a pas de différence entre les deux dates.
Si l’une des dates est null, la fonction renverra également null. Il est donc important de vérifier vos données avant d’appliquer cette fonction.
Aller plus loin sur Power BI
Vous souhaitez aller plus loin ? Découvrez notre formation Power BI sur mesure, animée en direct par un expert et adaptée à vos besoins.
Elle peut notamment être dispensée par Augustin LAMBERT, auteur de cet article et expert Power BI certifié PL-300.
Avec Morpheus Formation, vous progressez par la pratique, directement à partir de vos propres fichiers et de vos données. La formation affiche un taux de satisfaction de 97 %.

Nos programmes sont disponibles à distance comme en présentiel : avec des formations Power BI à Metz, à Paris, ou encore à Marseille.



