ALL DAX : Mesure DAX Mt Vente période incomplète

ALL DAX, Comparer des périodes différentes

Avec les fonctions ALL DAX et CALCULATE vous pouvez comparer des périodes qui peuvent s’étaler sur des durées différentes.

Par exemple pour comparer le chiffre d’affaires, quand un exercice comptable est sur moins d’une année.

Dans ce cas, les autres années sont comparées sur la même durée que cet exercice comptable.

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 ALL DAX

Vous allez d’abord, créer un nouveau fichier à partir d’un fichier existant. Cela permet de récupérer le modèle de données et les données.

Pour cela, ouvrir le fichier existant PBI_Lab46.pbix et l’enregistrer sous le nom PBI_Lab48.pbix. Attention. C’est bien le fichier PBI_Lab46.pbix qu’il faut ouvrir (et non pas le PBI_Lab47.pbix).

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, renommer la page Glissant en Période incomplète.

Comparaison de ventes au jour près avec ALL DAX

L’objectif de cette mesure est de comparer le montant annuel des ventes en tenant compte que les chiffres de l’année en cours sont incomplets car l’année n’est pas finie. Tandis que les chiffres des autres années sont sur des années entières. Cela permet de comparer avec les années précédentes sur la même période que l’année en cours.

Pour ce faire, dans la table Transactions, créer une nouvelle mesure qui se nommera Mt Vente période incomplète et qui fournira le résultat attendu.

Formater la mesure en € Euro (123 €) et 0 décimales.

Pour construire la formule de la mesure, utiliser les fonctions CALCULATE, ALL, MONTH, DAY, IF, ainsi que les opérateurs =, <, <=, ||.

Attention. Cet exercice n’est pas aussi complexe qu’il peut paraître. En revanche, il est nécessaire de bien comprendre le résultat final.
Notamment, il faut déterminer le jour et le mois de la dernière vente. Ces deux données seront ensuite transmises au CALCULATE.
Celui-ci va filtrer les lignes en ne gardant que les mois qui sont inférieurs au mois de la dernière vente ou les jours qui sont inférieurs au jour de la dernière vente.
Enfin, bien que cela ne soit pas indispensable, il est conseillé de créer deux variables. La première variable sert à stocker la date maximale sous forme d’un mois. La seconde variable sert à stocker la date maximale sous forme d’un jour.

Solution pour ALL DAX

Dans la vue Données, faire un clic-droit sur la table Transactions puis cliquer sur Nouvelle mesure.

Remplacer Mesure = par la formule suivante :

Mt Vente période incomplète = 
VAR moisMax = CALCULATE(MONTH(MAX(Transactions[VenteDate])), ALL(Transactions))
VAR jourMax = CALCULATE(DAY(MAX(Transactions[VenteDate])), ALL(Transactions)) RETURN
CALCULATE([Mt Vente], MONTH(Transactions[VenteDate]) < moisMax || MONTH(Transactions[VenteDate]) = moisMax && DAY(Transactions[VenteDate]) <= jourMax)

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 les dernières ventes ont été faites le 19 mai 2028.
La première fonction CALCULATE retourne la date maximale sous forme d’un mois, dans la variable moisMax.
Dans le cas présent, c’est mai.
La seconde fonction CALCULATE retourne la date maximale sous forme d’un jour, dans la variable moisMax.
Dans le cas présent, c’est 19.
La fonction ALL DAX modifie le contexte de filtres pour être certain de récupérer la date maximale absolue.
Les variables sont ensuite passées en tant que filtre à la fonction CALCULATE.
Celle-ci évalue la mesure Mt Vente dans le contexte de filtre modifié.
Précisément, elle évalue la mesure Mt Vente lorsque le mois est < mai ou quand le mois = mai et le jour est <= 19.

Fin de la solution.

Modifier un visuel de type Matrice

Ensuite, vous allez modifier le visuel de type Matrice existant.

Ouvrir le volet Visualisations.

Cliquer sur l’objet visuel de type Matrice pour le sélectionner.

Ajouter à l’objet visuel de type Matrice, la mesure Mt Vente période incomplète.

Réduire les années 2025, 2026, 2027 : ne pas réduire 2028.

Dans le visuel, vérifier que la mesure Mt Vente période incomplète est bien calée sur la même période de ventes que la dernière année (2028). Les chiffres des ventes s’arrêtent le 19.05.2028. Les autres années doivent donc courir du 1er janvier au 19 mai. Par ailleurs le mois de mai 2024 est vide car les ventes de ce mois ont eu lieu après le 19 mai.

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

ALL DAX : Mesure DAX Mt Vente période incomplète
ALL DAX : Mesure DAX Mt Vente période incomplète

Enregistrer son travail

Enfin, enregistrer le fichier PBI_Lab48.pbix.

Résumé

Avec cet exercice, vous avez utilisé la fonction ALL qui a modifié le contexte de filtre afin d’être sûr de travailler sur toutes les données, sans tenir compte d’éventuels filtres.

Toutefois, le plus important, c’est que vous avez exploité plus en profondeur le potentiel de DAX grâce à l’utilisation importante des opérateurs.

C’est relativement nouveau car jusqu’à présent vous aviez essentiellement combiné des fonctions.

En effet, avec ce nouvel exercice, vous avez manipulé les variables et opérateurs entre eux pour créer de véritables formules de calcul, qui utilisent des inférieurs, supérieurs, ET logique, OU logique, etc.

Vous découvrez donc une autre méthode pour atteindre l’objectif.

Encore une fois, il faut pratiquer. L’exercice suivant vous en donne l’occasion.

Pour aller plus loin

Consultez l’article sur les Visuels IA Power BI, et celui sur Analyser avec Power BI, ainsi que sur les Insights Power BI.

En cas d’erreur, consultez l’article sur Opération Power BI non valide.

Pour les calculs temporels avec DAX, consultez l’article Power BI comparer un mois avec DAX, ainsi que PREVIOUSMONTH et Power BI comparer une période avec DAX.

Toujours sur la Time Intelligence DAX, vous avez aussi les articles un peu plus poussés sur DATESQTD, DATESINPERIOD et ALL.

Concernant, les autres fonctions DAX utiles, prenez connaissance des articles Totaux cumulatifs avec CALCULATE, FILTER et VALUES.

Vous avez aussi un article pour mieux comprendre les Licences Power BI.

Par ailleurs, téléchargez gratuitement en PDF mon Tutoriel Power BI gratuit.

Enfin, téléchargez aussi gratuitement mon Tutoriel Power Automate gratuit.

Ainsi que mon Nouveau cours Power Apps gratuit.

Commentaires

Laisser un commentaire

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