L’objectif est de faire des totaux cumulatifs avec CALCULATE pour cumuler indéfiniment les montants du premier au dernier jour.
Autrement dit, cet article explique comment faire dans Power BI une somme cumulée avec DAX.
En effet, pour l’instant, ce calcul ne peut pas se faire avec les fonctions classiques de Time Intelligence, sauf pour des périodes fixes comme l’année avec la fonction TOTALYTD DAX.
Gardez à l’esprit que l’interface a pu évoluer fortement depuis que cet article a été rédigé.
Créer un fichier Power BI pour faire des totaux cumulatifs avec CALCULATE
Premièrement, ouvrir le fichier PBI_Lab46.pbix et l’enregistrer sous le nom PBI_Lab47.pbix.
Notamment, l’intérêt d’utiliser un rapport Power BI existant est son modèle de données, en particulier les relations entre les tables. C’est la raison pour laquelle, vous démarrez à partir de ce fichier.
Ensuite, vous allez modifier tout de suite le visuel existant.
Pour cela, cliquer dans le visuel de type Matrice pour le sélectionner.
Ensuite, cliquer dans la partie Champs du visuel puis supprimer la valeur Mt Vente 12 mois glissants.
Puis, supprimer la ligne AnneeMois.
Enfin, ajouter le champ Calendrier[AnneeTrimestre] sous Annee.
Pour vous aider, regarder la copie d’écran ci-dessous.
Enfinb, renommer la page Glissant en Grand total.
Totaux cumulatifs avec CALCULATE pour les ventes
L’objectif de cette nouvelle mesure est de faire le total des ventes à date, depuis le premier jour, par trimestre.
Pour ce faire, dans la table Transactions, créer une nouvelle mesure qui se nommera Mt Vente Total cumulé et qui fournira le résultat attendu.
Ensuite, faire en sorte que la mesure ne s’affiche que pour les périodes AnneeTrimestre.
Puis formater la mesure en € Euro (123 €) et 0 décimales.
Par ailleurs, utiliser les fonctions CALCULATE, MAX, IF et ISINSCOPE.
Enfin, se rappeler qu’il est possible d’utiliser des opérateurs dans une expression DAX. Exemple d’un opérateur : <= (inférieur ou égal).
Solution pour faire des totaux cumulatifs avec CALCULATE
Dans la vue Données, faire un clic-droit sur la table Transactions puis cliquer sur Nouvelle mesure.
Ensuite, remplacer Mesure = par la formule suivante :
Mt Vente Total cumulé = IF(ISINSCOPE(Calendrier[AnneeTrimestre]), CALCULATE([Mt Vente], Calendrier[date] <= MAX(Calendrier[date])))
Puis appuyer sur la touche entrée du clavier.
Ensuite, dans le ruban Outils de mesure, cliquer sur € Euro (123 €) dans le menu déroulant de $, puis mettre 0 dans le nombre de décimales.
Explication de la formule Supposons que le rapport soit filtré sur 2026-T3 (3ième trimestre 2026). La fonction MAX retourne la date du 30 septembre 2026. La fonction CALCULATE filtre toutes les dates inférieures ou égales au 30 septembre 2026. Ensuite elle évalue la mesure Mt Vente dans le contexte de filtre modifié. Grâce à la fonction ISINSCOPE, le résultat de cette fonction n’est affiché que si la colonne AnneeTrimestre est le niveau dans la hiérarchie de niveaux, autrement dit un trimestre. |
Fin de la solution.
Modifier un visuel de type Matrice pour faire appraître les totaux cumulatifs avec CALCULATE
Ensuite, vous allez modifier le visuel de type Matrice existant.
Premièrement, ouvrir le volet Visualisations.
Ensuite, cliquer sur l’objet visuel de type Matrice pour le sélectionner.
Puis ajouter à l’objet visuel de type Matrice, la mesure Mt Vente Total cumulé.
Pour les lignes, vérifiez que vous êtes bien en AnneeTrimestre (et non pas AnneeMois).
Dans le visuel et avec une calculatrice, vérifier que la mesure Mt Vente Total cumulé accumule bien le Mt Vente de chaque trimestre, jusqu’au grand total général.
Enregistrer son travail
Enfin, enregistrer le fichier PBI_Lab47.pbix.
La manipulation est terminée.
Laisser un commentaire