Mesure DAX Mt Vente 12 mois glissants

Avec DAX, ajouter un visuel Power BI sur 12 mois glissants

L’objectif est de comprendre comment calculer des totaux glissants avec DAX dans Power BI. Un total annuel glissant est un total qui va se décaler de 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.

Manipulations

Créer un fichier Power BI à partir d’un fichier existant

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

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.

Attention. Cet exercice est un peu plus ardu que les précédents.
La solution repose essentiellement sur la fonction DATESINPERIOD. Celle-ci retourne une table qui contient une colonne de dates qui commence à une date de début et se termine au bout de N périodes, avec N positif ou négatif.
Dans cet exercice, la date de début est la date la plus grande du filtre courant. Par exemple, si le filtre courant est novembre 2026, la date de début doit être le 30 novembre 2026. La fonction LASTDATE permet d’obtenir simplement ce résultat.
Enfin, bien que cela ne soit pas indispensable, il est conseillé de créer deux variables. La première variable sert à stocker la date la plus grande du filtre courant obtenue avec la fonction LASTDATE. La seconde variable sert à stocker la période courante, obtenue avec la fonction DATESINPERIOD.
Solution

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 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.

Pour vous aider, regarder la copie d’écran ci-dessous.

Mesure DAX Mt Vente 12 mois glissants
Mesure DAX Mt Vente 12 mois glissants

Figure 4‑10 Glissant (extrait)

Enregistrer son travail

Enregistrer le fichier PBI_Lab46.pbix.

Résumé

Vous avez principalement découvert la fonction DAX d’intelligence temporelle DATESINPERIOD.

C’est une fonction qui est généralement passée en tant que filtre à la fonction CALCULATE.

En effet, puisqu’elle renvoie une table contenant une colonne de dates qui débute à une date spécifiée et se poursuit un certain nombre d’intervalles (DAY, MONTH, QUARTER, YEAR), cela permet de modifier le contexte de filtres de la fonction CALCULATE.

Il existe une fonction DAX plus générique que DATESINPERIOD. C’est la fonction DATESBETWEEN. Celle-ci renvoie toutes les dates entre une date de début et une date de fin.

Vous avez aussi utilisé la fonction d’intelligence temporelle LASTDATE pour trouver la dernière date.

Si cette fonction n’avait pas été imposée, vous auriez pu aussi utiliser la fonction classique d’agrégation MAX.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *