Le cumul en DAX

28 juillet 2023

Aujourd’hui nous allons nous intéresser à différentes techniques de cumul en DAX.

Les fonctions TOTALYTD et TOTALQTD :

Ces deux fonctions sont utilisées pour calculer le cumul total d’une valeur depuis le début de l'année en cours jusqu'à la date sélectionnée dans le rapport.

Voici un exemple d’utilisation de la fonction :

 

 

La fonction DATESYTD :

La fonction DATESYTD est utilisée également pour effectuer des cumuls. Elle est utilisée pour ressortir le cumul d’une valeur sur 1 année à commencer du 1er janvier de l’année.

Voici un exemple d’utilisation de la fonction :

 

 

La fonction DATESBETWEEN :

Cette fonction est utilisée pour créer une table de dates filtrée entre deux dates spécifiées et calculer un cumul entre ces deux dates. Dans cet exemple la fonction est utilisée comme mesure. Elle retourne uniquement la valeur cumulée entre les deux dates.

 

 

Maintenant si on souhaite cumuler sur des périodes plus longues il est possible de créer les mesures suivantes :

Dans la mesure ci-dessous on utilise CALCULATE pour calculer le total de la colonne ‘montant’ de la table ‘ca’ filtrer sur la période voulu. On retrouve bien en premier paramètre de la fonction CALCULATE l’expression SUM(‘CA’[Montant]). En deuxième paramètre de la fonction CALCULATE on utilise la fonction FILTER qui va générer une table virtuelle filtrée sur toutes les dates inférieures à la date maximale de la colonne ‘Date’.

 

 

Sur la base d’une mesure similaire on peut aussi retourner le cumul des 6 derniers mois ligne après ligne. Dans l’exemple ci-dessous on constate ligne après ligne que le cumul des 6 derniers mois est conservé.

Il est intéressant de constater que la fonction FILTER récupère en premier paramètre toutes les valeurs de la période en deuxième paramètre de la fonction.

La fonction EOMONTH permet de s’assurer de récupérer toutes les lignes du mois. Elle ne sera pas utile si on a en base de données uniquement une ligne par mois. Ce qui n’est pas le cas ici car dans cette base il y a une ligne par jours.

 

 

 

Articles en relation

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