CALCULATE DAX : Mesure Mt Vente A - 1

CALCULATE DAX, Evaluer une expression

par

dans

Vous allez apprendre à utiliser la fonction CALCULATE DAX dans un cas concret.
Celle-ci évalue une mesure dans le contexte de filtre.

L’objectif est de comparer des montants, à l’aide de combinaisons de fonctions DAX de Power BI. Cette combinaison de fonctions DAX surpasse certaines fonctions préconstruites de Time Intelligence.

En effet, ces fonctions de Time Intelligence sont souvent limitées à des cas particuliers, comme la comparaison annuelle, trimestrielle ou mensuelle.

Dans cet exercice, vous allez mettre en œuvre une comparaison mensuelle.

Toutefois, il vous sera facile de voir comment généraliser et étendre cet exemple, ce qui n’est pas possible avec les fonctions classiques.

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

Premièrement, ouvrir le fichier PBI_Lab42.pbix et l’enregistrer sous le nom PBI_Lab43.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 pages Comparer M – 1 (%) et Comparer M – 1., afin de se concentrer sur l’essentiel.

Pour ce faire, supprimer la page Comparer M – 1 (%) : cliquer aussi sur le bouton Supprimer du pop-up de confirmation.

Puis, supprimer la page Comparer M – 1 : cliquer aussi sur le bouton Supprimer du pop-up de confirmation.

Ensuite, vous allez copier une page existante pour en créer une nouvelle.

Pour cela, faire un clic-droit sur la page Analyser puis cliquer sur Copier la page : une page Doublon de Analyser apparaît.

Puis, renommer la page Doublon de Analyser en Comparer A – 1.

Enfin, laisser le visuel présent sur la page Comparer A – 1, il sera bientôt utilisé.

Comparaison d’un mois avec celui de l’année précédente grâce à CALCULATE DAX

Cet exercice à deux objectifs.

Le premier objectif est de créer une nouvelle mesure afin de comparer les ventes d’un mois avec celles de l’année précédente, pour le même mois.

Pour ce faire, dans la table Transactions, créer une nouvelle mesure qui se nommera Mt Vente A – 1 et qui fournira le résultat attendu.

Notamment, formater la mesure en € Euro (123 €) et 0 décimales.

Par ailleurs,utiliser les fonctions CALCULATE et DATEADD.

Le second objectif est de vous montrer qu’il est possible de faire de l’intelligence temporelle uniquement avec les fonctions CALCULATE et DATEADD. Autrement dit, les exercices précédents qui utilisaient des fonctions d’intelligence temporelles construites sur mesure (PREVIOUSMONTH, SAMEPERIODLASTYEAR, etc.) ne sont que des cas particuliers.

Solution pour CALCULATE 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 A - 1 = CALCULATE([Mt Vente], DATEADD(Calendrier[date], -1, YEAR))

Puis appuyer sur la touche entrée du clavier.

Enfin, 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
La fonction DATEADD retourne une table qui contient une colonne de dates reculées d’un an par rapport aux dates du contexte actuel.
Cette table est ensuite passée en tant que filtre à la fonction CALCULATE.
Celle-ci évalue la mesure Mt Vente dans le contexte de filtre modifié.

Fin de la solution.

Modifier un visuel de type Matrice

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

Ouvrir la vue Rapport.

Ensuite, ouvrir le volet Visualisations.

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

Ensuite, ajouter à l’objet visuel de type Matrice, la mesure Mt Vente A – 1 en 3ième position.

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

CALCULATE DAX : Position de Mt Vente A - 1
CALCULATE DAX : Position de Mt Vente A – 1

Puis réduire les années 2025, 2026, 2027, 2028.

Ensuite, dans le visuel, vérifier que les chiffres de la colonne Mt Vente A – 1 sont bien ceux de la colonne Mt Vente de l’année précédente.

Pour la ligne de l’année (2023, 2024, 2025, etc.), remarquer que les montants sont strictement identiques entre la mesure Vte An Cumul A – 1, qui utilise SAMEPERIODLASTYEAR et la mesure Mt Vente A – 1, qui utilise DATEADD.

La différence au niveau des mois est normale car la mesure Vte An Cumul A – 1 fait un cumul annuel, ce qui n’est pas le cas de la mesure Mt Vente A – 1.

Pour obtenir exactement le même résultat pour les mois, il suffirait de modifier en conséquence la formule de la mesure Mt Vente A – 1. Cela ne présente pas de difficultés.

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

CALCULATE DAX : Mesure Mt Vente A - 1
CALCULATE DAX : Mesure Mt Vente A – 1

Enregistrer son travail

Ensuite enregistrer le fichier PBI_Lab43.pbix.

Résumé

Vous avez pu mettre en pratique l’utilisation de CALCULATE et DATEADD pour remplacer certaines fonctions d’intelligence temporelle préconstruites.

Vous verrez que c’est vrai aussi pour toutes les autres fonctions d’intelligence temporelle préconstruite. En effet, vous pourrez toujours les remplacer par une combinaison de fonctions plus génériques, dont CALCULATE et DATEADD font partie. L’inverse n’est pas vrai.

La conséquence pratique est de pouvoir construire librement les comparaisons les plus audacieuses grâce au moins à ces deux fonctions.

Certes, cela demande encore un peu de pratique et d’entraînement. C’est justement l’objet des exercices suivants.

Pour aller plus loin

Téléchargez gratuitement en PDF mon support de cours pour apprendre à créer des rapports avec Power BI Desktop. Il comprend l’exposé des notions (185 pages) et plus de 50 travaux pratiques corrigés de Power BI.

Commentaires

Laisser un commentaire

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