L’objectif est de comprendre comment calculer des totaux glissants avec la fonction DATESINPERIOD DAX dans Power BI.
Un total annuel glissant est un total qui va se décaler sur 12 mois.
Par exemple, le mois de janvier cumule de janvier à février A – 1, février cumule de février à mars A – 1, etc.
La particularité de cet exercice est de faire un calcul d’intelligence temporelle à l’aide de la fonction CALCULATE.
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 DATESINPERIOD DAX
Ouvrir le fichier PBI_Lab45.pbix et l’enregistrer sous le nom PBI_Lab46.pbix.
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 supprimer les valeurs inutiles dans 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 Cumul T.
Enfin, renommer la page Vente A – 1 en Glissant.
Total des ventes sur 12 mois glissants avec DATESINPERIOD DAX
L’objectif de cette nouvelle mesure est de totaliser mensuellement le montant des ventes sur 12 mois glissants.
Pour ce faire, dans la table Transactions, créer une nouvelle mesure qui se nommera Mt Vente 12 mois glissants et qui fournira le résultat attendu.
Ensuite, faire en sorte que la mesure ne s’affiche que pour les périodes AnneeMois.
Puis, formater la mesure en € Euro (123 €) et 0 décimales.
Enfin, utiliser les fonctions CALCULATE, LASTDATE, DATESINPERIOD, IF et ISINSCOPE.
Solution pour DATESINPERIOD DAX
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 12 mois glissants = VAR dateMax = LASTDATE(Calendrier[date]) VAR datePlage = DATESINPERIOD(Calendrier[date], dateMax, -12, MONTH) RETURN IF(ISINSCOPE(Calendrier[AnneeMois]), CALCULATE([Mt Vente],datePlage))
Puis, appuyer sur la touche entrée du clavier.
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 le mois de novembre 2026. LASTDATE retourne la date du 30 novembre 2026 dans la variable dateMax. La fonction DATESINPERIOD DAX retourne ensuite une plage de dates comprises entre le 1er décembre 2025 et le 30 novembre 2026 dans la variable datePlage. La variable datePlage est ensuite passée en tant que filtre à la fonction CALCULATE. Celle-ci évalue la mesure Mt Vente dans le contexte de filtre modifié. Le résultat de cette fonction est affiché que si la colonne AnneeMois est le niveau dans la hiérarchie de niveaux. |
Fin de la solution.
Modifier un visuel de type Matrice
Ensuite, vous allez modifier le visuel de type Matrice existant.
Pour ce faire, 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 12 mois glissants.
Enfin, réduire les années 2025, 2026, 2027, 2028.
Dans le visuel et avec une calculatrice, vérifier que la mesure Mt Vente 12 mois glissants est bien la somme du Mt Vente sur les 12 derniers mois.
Enregistrer son travail
Ensuite, enregistrer le fichier PBI_Lab46.pbix.
La manipulation est terminée.
Laisser un commentaire