Time Intelligence dans Power BI : maîtrisez vos données temporelles
Les fonctions de Time Intelligence dans Power BI sont des outils essentiels pour analyser des tendances, comparer des périodes et prévoir l’avenir. Vous débutez avec DAX ? Pas de panique : voici un guide clair, pratique et applicable directement dans vos modèles Power BI, avec une table de données fictive pour que vous puissiez pratiquer !
Table de données exemple
Voici une table fictive de ventes avec des dates et montants que vous pouvez utiliser pour tester les formules DAX ci-dessous :
Date Montant des ventes
01/01/2023 500
02/01/2023 600
03/01/2023 450
04/01/2023 700
01/02/2023 650
02/02/2023 710
01/03/2023 550
02/03/2023 800
01/04/2023 900
02/04/2023 950
C’est quoi, au juste ?
Time Intelligence, c’est l’art d’utiliser les données temporelles pour analyser des performances passées, présentes et futures. Avec des fonctions DAX spécifiques, vous pouvez facilement répondre à des questions comme :
• Comment mes ventes de ce mois se comparent-elles au mois dernier ?
• Quelle est la croissance cumulée sur l’année ?
• Comment se sont déroulées les périodes clés dans mon entreprise ?
Astuce #1 : Comparer des périodes (MoM, YoY)
Besoin : Calculer la variation des ventes par rapport à la même période l’année dernière (YoY). Solution DAX :
DAX
Sales LY = CALCULATE(
SUM(Sales[Amount]),
SAMEPERIODLASTYEAR('Date'[Date])
)
Explication détaillée :
1. CALCULATE : Cette fonction est la base de l’analyse DAX dans Power BI. Elle permet de changer le contexte d’évaluation d’une mesure.
2. SAMEPERIODLASTYEAR(‘Date'[Date]) : Cette fonction renvoie toutes les dates de la même période mais de l’année précédente. C’est ce filtre temporel qui va décaler les résultats d’une année, permettant ainsi la comparaison avec la période de l’année passée.
📌 Exemple : Pour le mois de février 2023, cette formule compare les ventes avec celles de février 2022.
• Résultat attendu : Si nous avons 1360 $ en ventes pour février 2023, et que l’année précédente (février 2022), les ventes étaient de 1200 $, la variation YoY serait de 160 $.
Cas d’utilisation dans l’industrie :
• Retail : Cette fonction permet de comparer les performances de vente d’un mois ou d’une période par rapport à l’année précédente. Utile pour évaluer les effets des promotions annuelles ou des tendances saisonnières.
• Santé : Par exemple, un hôpital pourrait utiliser cette fonction pour comparer les admissions ou traitements d’une période avec l’année précédente et ajuster ses ressources en conséquence.
Note: SAMEPERIODLASTYEAR peut aussi être remplacée par DATEADD(‘Date'[Date], -1, YEAR)
Astuce #2 : Valeur cumulée (YTD, MTD)
Besoin : Voir l’évolution des ventes cumulées au fil du temps (YTD) ou par mois (MTD). Solution DAX :
Sales YTD = CALCULATE(
SUM(Sales[Amount]),
DATESYTD('Date'[Date])
)
Explication détaillée :
1. CALCULATE : Tout comme dans la première astuce, nous utilisons CALCULATE pour recalculer une somme, mais cette fois-ci, le calcul doit prendre en compte un filtre temporel défini par DATESYTD.
2. DATESYTD(‘Date'[Date]) : Cette fonction génère une période de dates depuis le début de l’année (1er janvier) jusqu’à la date donnée. Elle permet donc d’obtenir les données cumulées de l’année en cours jusqu’à la date la plus récente dans le contexte de filtre.
📌 Exemple : En mars 2023, la formule calculera la somme des ventes depuis le 1er janvier 2023 jusqu’à la date actuelle (par exemple, jusqu’au 02/03/2023).
• Résultat attendu : Pour janvier 2023 à mars 2023, les ventes cumulées sont de 500 $ + 600 $ + 450 $ + 700 $ + 650 $ + 710 $ + 550 $ + 800 $ = 5460 $.
Variante : Cumul mensuel (MTD)
Sales MTD = CALCULATE(
SUM(Sales[Amount]),
DATESMTD('Date'[Date])
)
Explication détaillée :
1. CALCULATE : De nouveau, CALCULATE nous permet d’appliquer un contexte spécifique, ici un mois défini par DATESMTD.
2. DATESMTD(‘Date'[Date]) : Cette fonction renvoie toutes les dates depuis le début du mois jusqu’à la date spécifiée. Idéale pour calculer un cumul mensuel des données.
📌 Exemple : Pour le mois de mars 2023, cette formule cumule les ventes du mois de mars seulement.
• Résultat attendu : Pour le mois de mars 2023, les ventes sont de 550 $ + 800 $ = 1350 $.
Cas d’utilisation dans l’industrie :
• Finance : Les analystes financiers utilisent souvent YTD pour suivre les revenus annuels par rapport à l’objectif fixé.
• Marketing : MTD est très utile pour mesurer la performance d’une campagne publicitaire lancée au début d’un mois.
Astuce #3 : Comparer des plages de dates spécifiques
Besoin : Calculer les ventes entre deux dates précises. Solution DAX :
Sales Between = CALCULATE(
SUM(Sales[Amount]),
DATESBETWEEN('Date'[Date], DATE(2023,1,1), DATE(2023,3,31))
)
Explication détaillée :
1. CALCULATE : Encore une fois, cette fonction permet de recalculer les ventes en appliquant un nouveau filtre temporel.
2. DATESBETWEEN(‘Date'[Date], DATE(2023,1,1), DATE(2023,3,31)) : Cette fonction permet de spécifier une plage de dates personnalisée. Dans cet exemple, nous définissons la plage allant du 1er janvier 2023 au 31 mars 2023 pour la comparaison des ventes.
📌 Exemple : Cette formule additionne les ventes de janvier, février et mars 2023.
• Résultat attendu : 500 $ + 600 $ + 450 $ + 700 $ + 650 $ + 710 $ + 550 $ + 800 $ = 5460 $.
Cas d’utilisation dans l’industrie :
• Commerce : Un détaillant pourrait vouloir analyser les ventes sur une période de soldes spécifique.
• Événements : Organisateurs d’événements peuvent analyser les ventes de billets pendant une fenêtre de promotion.
Astuce #4 : Création de périodes personnalisées (Rolling 30 Days)
Besoin : Calculer un cumul glissant sur les 30 derniers jours. Solution DAX :
Rolling 30 Days = CALCULATE(
SUM(Sales[Amount]),
DATESINPERIOD('Date'[Date], MAX('Date'[Date]), -30, DAY)
)
Explication détaillée :
1. CALCULATE : Une fois encore, nous utilisons CALCULATE pour appliquer un nouveau contexte de filtrage sur les ventes.
2. DATESINPERIOD(‘Date'[Date], MAX(‘Date'[Date]), -30, DAY) : Cette fonction est un peu plus avancée. DATESINPERIOD prend en paramètre la date de début (ici, la dernière date de la table), puis un nombre d’unités (30 jours ici) et une unité de temps (DAY). Cela permet de filtrer les 30 derniers jours par rapport à la date la plus récente de la table.
📌 Exemple : Si nous sommes le 2 avril 2023, cette formule additionne les ventes des 30 derniers jours, soit du 3 mars 2023 au 2 avril 2023.
• Résultat attendu : La somme des ventes des 30 derniers jours peut être calculée en fonction de la période dynamique. Par exemple, si les ventes de ces derniers jours sont de 700 $ + 650 $ + 710 $ + 550 $ + 800 $, vous obtenez 3910 $.
Cas d’utilisation dans l’industrie :
• E-commerce : Cette formule est utilisée pour analyser la performance des ventes en temps réel, ce qui est crucial pour les décisions rapides pendant les périodes de haute activité.
• Supply Chain : Une entreprise pourrait l’utiliser pour prédire les besoins en stock basés sur les ventes récentes, ajustant ainsi les commandes.
En résumé : Pourquoi c’est important ?
Les fonctions de TimeIntelligence transforment vos données temporelles en insights exploitables :
✅ Elles simplifient les analyses périodiques.
✅ Elles offrent une vue d’ensemble sur vos performances.
✅ Elles permettent d’automatiser des comparaisons complexes.
À vous de jouer !
Utilisez les formules DAX ci-dessus avec la table de données d’exemple pour voir ces concepts en action dans #Power BI. Une fois que vous êtes à l’aise, vous pourrez appliquer ces mêmes principes à vos propres données pour obtenir des analyses de haute qualité !