Les fonctions cumulatives dans Microsoft Power BI permettent de calculer la somme des valeurs précédentes et de la valeur actuelle. Elles aident à visualiser et analyser des modèles de données efficacement. Elles montrent l’accumulation des données au fil du temps ou d’autres dimensions.
Ces fonctions utilisent souvent le langage DAX (Data Analysis Expressions) dans Power BI Desktop. Elles permettent de créer des mesures dynamiques et des visualisations interactives.
Les fonctions cumulatives sont utiles pour suivre les performances cumulées, comme les ventes totales sur une période.
Les fonctions cumulatives dans Excel
Si vous disposez d’un tableau avec une colonne Quantité et souhaitez cumuler à chaque fin de ligne le cumul fin de mois, vous réalisez souvent cette solution. Une somme dans laquelle vous figez la première valeur et laissez libre la valeur de fin. Ainsi, en déroulant la formule, le calcul inclut progressivement les mois suivants.
Et si vous souhaitez que ça reprenne à 0 à chaque début d’année, alors vous complexifiez un peu comme ceci par exemple.
[Attention, ces 2 méthodes supposent en plus que les données soient dans l’ordre de mois].
Il existe d’autres méthodes pour faire la même chose si les mois ne sont pas dans l’ordre, mais rien d’ultra simple.
Alors que dans Microsoft Power BI ou Power Pivot sur Excel, grâce au DAX, il y a beaucoup plus simple.
Les fonctions cumulatives dans Microsoft Power BI
Le DAX disposent de fonctions dites cumulatives, à partir de données de dates.
Dans l’exemple évoqué ci-dessus, on souhaite réaliser un cumul à fin d’année : la fonction DAX à utiliser dans la transition de contexte sera alors DATESYTD [YTD signifie Year-To-Date].


Peu importe ici que les données présentes apparaissent ou non, qu’elles soient dans l’ordre ou non. La fonction DAX permet d’additionner l’information depuis le début de l’année.
Si vous êtes en exercice décalé, cette fonction vous permet de donner de façon facultative une date de fin de votre exercice avec la composition suivante : DATESYTD(<dates> [,<year_end_date>]).
Intérêt et utilisation
Il existe plusieurs fonctions de ce type : elles commencent toutes par DATES…
- DATESMTD cumul mensuel jusqu’à aujourd’hui,
- DATESQTD cumul trimestriel jusqu’à aujourd’hui,
- DATESBETWEEN cumul selon une date de départ et une date de fin déterminée,
- DATESINPERIOD cumul selon une date de départ déterminée, se terminant à une date déterminée par un type et un nombre d’intervalle selon votre souhait.
On peut, grâce aux 2 dernières, faire des calculs de données glissantes. Par exemple, si je veux connaitre sur chaque mois mon cumul glissant sur 3 mois, je peux utiliser la fonction de cette façon :
Et si ce n’est pas sur base de dates que l’on souhaite cumuler ?
Dans ce cas, il faut faire appel à d’autres transitions de contexte. Retrouvez notre article Datawelsh sur ce sujet !