Power BI : maîtriser les variations, cumuls et moyennes glissantes en DAX

26 février 2026

(écrit par un humain)

Lorsque l’on débute sur Microsoft Power BI, certaines notions reviennent très vite : comparaison d’une année à l’autre, cumul sur l’année, moyenne glissante, analyse dynamique dans le temps… Ce sont des demandes classiques en entreprise. Pourtant, derrière ces calculs en apparence simples se cache une logique précise qu’il faut comprendre pour construire des mesures fiables et performantes.

Dans cet article, nous allons reprendre pas à pas les fondamentaux nécessaires pour calculer des variations, des cumuls et des moyennes glissantes dans Power BI. L’objectif est double : comprendre la mécanique DAX et structurer correctement son modèle pour éviter les erreurs les plus fréquentes.

Comprendre la logique Business Intelligence avant d’écrire une ligne de DAX

Avant de plonger dans la technique, il est essentiel de rappeler ce qu’est réellement la Business Intelligence. Un outil décisionnel n’a pas vocation à simplement afficher des données. Il doit permettre à un manager, un analyste ou un dirigeant de prendre une décision éclairée.

Dans cet écosystème, on retrouve toujours deux briques fondamentales : la donnée et l’outil capable de la transformer en insight. Power BI appartient à la catégorie des outils de data visualisation. Il permet de connecter des sources multiples, de transformer les données, puis de produire des tableaux de bord interactifs.

Mais pour comprendre comment réaliser des calculs temporels avancés, il faut distinguer les deux grandes composantes de l’outil.

Power Query et Desktop : deux rôles bien distincts

Dans Power BI, tout commence par l’importation des données. Cette étape passe par Power Query, la brique ETL (Extract, Transform, Load). Son rôle est de nettoyer, transformer et structurer la donnée avant qu’elle ne soit exploitée.

Une fois cette préparation effectuée, on travaille dans Power BI Desktop. C’est ici que l’on construit le modèle de données, que l’on crée les relations entre les tables et surtout que l’on écrit les mesures en DAX.

Les calculs de variation, de cumul ou de moyenne glissante ne se font pas dans Power Query. Ils se font dans Desktop, via des mesures dynamiques capables de s’adapter aux filtres appliqués dans les rapports.

Pourquoi Power BI est particulièrement adapté à ces analyses

L’un des grands atouts de Power BI est sa capacité à se connecter à une grande variété de sources : fichiers Excel, PDF, bases de données relationnelles, contenus web… Cette centralisation permet d’unifier des données hétérogènes dans un modèle cohérent.

Autre avantage majeur : la volumétrie. La limite dépend principalement des capacités de la machine. On peut manipuler des volumes très importants de données.

Enfin, la version cloud – Power BI Service – permet d’automatiser l’actualisation des données et de partager les rapports en toute sécurité. Les utilisateurs finaux consultent toujours une version à jour, sans intervention manuelle.

Le point clé : la table de dates

Avant même de parler de variation ou de cumul, il faut poser une base incontournable : la table de dates.

Dès qu’une table contient une colonne de type date, une dimension calendrier devient indispensable. 

Sans elle, les fonctions temporelles en DAX ne fonctionneront pas correctement.

Une solution simple consiste à utiliser la fonction CALENDARAUTO(). Cette fonction analyse toutes les colonnes de type date présentes dans le modèle, identifie la date la plus ancienne et la plus récente, puis génère automatiquement toutes les dates comprises entre le 1er janvier de l’année minimale et le 31 décembre de l’année maximale.

Il est également possible d’utiliser CALENDAR() en définissant manuellement une date de début et une date de fin, ou encore d’aller plus loin avec ADDCOLUMNS() pour créer des dimensions personnalisées.

Quelle que soit la méthode choisie, la table de dates doit être reliée à la table de faits via une relation sur la colonne Date. C’est cette relation qui permettra aux calculs temporels de fonctionner correctement.

Calculer le chiffre d’affaires de l’année précédente (N-1)

Une fois le modèle structuré, on peut commencer à travailler sur les mesures.

Prenons un cas simple : une table contenant une colonne Date et une colonne Chiffre d’affaires. L’objectif est de récupérer le chiffre d’affaires de l’année précédente.

Pour cela, on utilise CALCULATE(), qui permet de modifier le contexte de filtre, combiné à DATEADD().

La logique est la suivante : on calcule la somme du chiffre d’affaires, mais en décalant le contexte de date d’un an en arrière.

DATEADD() est particulièrement intéressante car elle permet de :

  • Reculer ou avancer dans le temps 
  • Choisir la granularité (année, mois, jour) 
  • Paramétrer le nombre d’intervalles 

Ainsi, la mesure N-1 devient la base de nombreuses analyses comparatives.

Calculer la variation entre N et N-1

Une fois la mesure N-1 créée, la variation devient presque évidente.

Il suffit de soustraire le chiffre d’affaires N-1 au chiffre d’affaires courant. La puissance de DAX réside justement dans cette capacité à simplifier la logique dès lors que le modèle est bien conçu.

Cette variation peut ensuite être affichée dans une table, une matrice ou intégrée dans un graphique pour visualiser l’évolution dans le temps.

Construire un cumul annuel (Year To Date)

Le cumul annuel est une autre demande classique. L’idée consiste à additionner les valeurs depuis le début de l’année jusqu’à la date sélectionnée.

La fonction DATESYTD() permet précisément de définir ce contexte temporel. Combinée à CALCULATE(), elle produit un cumul qui se réinitialise automatiquement au changement d’année.

On observe alors une progression mois après mois, puis un redémarrage en janvier de l’année suivante.

Aller plus loin : le cumul dynamique paramétrable

Là où Power BI devient particulièrement intéressant, c’est lorsqu’on introduit de la dynamique.

Imaginons que l’on souhaite laisser l’utilisateur choisir le nombre de mois sur lesquels effectuer un cumul. Plutôt que de figer la période, on peut créer un paramètre numérique via la fonctionnalité “Plage numérique”.

Power BI génère alors une table contenant une séquence de nombres (grâce à GENERATESERIES()) ainsi qu’un segment permettant à l’utilisateur de sélectionner une valeur.

Dans la mesure DAX, on récupère cette sélection via SELECTEDVALUE(). On définit ensuite deux bornes temporelles :

  • une date de fin correspondant au contexte courant 
  • une date de début calculée en fonction du nombre de mois sélectionné

Les variables DAX (en utilisant le préfixe VAR) permettent une meilleure lisibilité de la mesure. 

Il suffit alors de sommer les valeurs comprises entre ces deux dates.

Cette approche permet de créer un cumul glissant totalement dynamique, piloté directement depuis le rapport.

Calculer une moyenne glissante sur 6 mois

La moyenne glissante demande une construction un peu plus élaborée.

On commence par identifier la date maximale du contexte courant. Ensuite, on utilise DATESINPERIOD() pour définir une période de six mois en arrière. Enfin, on applique AVERAGEX() sur les valeurs distinctes de la date afin de calculer la moyenne sur cet intervalle.

Le résultat est une moyenne qui évolue à chaque période, en prenant en compte les six mois précédents.

Là encore, cette logique peut être rendue paramétrable si l’on souhaite laisser l’utilisateur définir le nombre de mois.

Questions fréquentes autour de ces calculs

Lorsque les données sources sont déjà cumulées, il est préférable de reconstituer les valeurs mensuelles en calculant la différence entre N et N-1. Idéalement, cette transformation peut être réalisée dans Power Query.

Concernant la table de dates, CALENDARAUTO() n’est qu’une option parmi d’autres. CALENDAR() ou des constructions plus avancées permettent d’adapter la dimension aux besoins métier.

Les moyennes glissantes sur plusieurs dimensions (région, ville…) sont tout à fait possibles à condition que le modèle de données soit correctement structuré.

Le forecast intégré est disponible dans les graphiques en courbe. Pour l’intégrer dans une table, un calcul externe doit être réalisé puis importé.

Enfin, le système de paramètres peut également servir à modifier dynamiquement un titre ou un header grâce à SELECTEDVALUE().

Conclusion

Maîtriser les variations, les cumuls et les moyennes glissantes dans Power BI est essentiel pour transformer vos données en véritables outils décisionnels. Avec une table de dates correctement construite, la compréhension de CALCULATE() et l’usage judicieux des fonctions temporelles, vous êtes capable de produire des analyses fiables, dynamiques et adaptées aux besoins de votre entreprise.

Ces techniques ne sont pas réservées aux experts : elles peuvent être appliquées progressivement, étape par étape, et constituent une base solide pour développer vos compétences en Business Intelligence.

Si vous souhaitez aller plus loin et devenir pleinement autonome dans Power BI, nos formations sont conçues pour vous guider de l’initiation aux calculs avancés en DAX, jusqu’à la création de tableaux de bord interactifs et performants. Contactez-nous dès aujourd’hui pour découvrir nos parcours et booster vos compétences Power BI.

 

Articles en relation

Devenez un expert en Power BI

avec nos formations 100% pratique et sur mesure
Découvrir nos formations

Retrouvez nos autres marques

linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram