TOTALYTD DAX, Sommer l’année jusqu’à une date

La fonction TOTALYTD DAX évalue une valeur pour l’année en cours jusqu’à une certaine date dans le contexte de filtre.

Maintenant que le rapport BIG_Lab37.pbix est prêt, vous allez introduire des mesures pour les analyses de dimensions temporelles.

Actuellement, il y a 35 fonctions DAX d’intelligence temporelle.

La plupart de ces fonctions ont été créées pour répondre aux besoins courants : calculer le total des ventes cumulé sur le trimestre, calculer les ventes de l’année précédente, comparer une année sur l’autre, etc.

En effet, certaines d’entre-elles sont très souples, comme DATEADD, DATESINPERIOD, DATESMTD ou DATESQTD.

Combinées avec la fonction CALCULATE, elles surpassent même les services offerts par les fonctions classiques de Time Intelligence, comme PREVIOUSMONTH, SAMEPERIODLASTYEAR, etc. en offrant une granularité plus fine.

Notamment, si vous souhaitez faire des analyses sur des périodes non standards, comme sur les 20 ou 10 derniers jours.

Pour l’instant, l’objectif de cet exercice est de cumuler toutes les ventes de l’année, mois par mois et de comparer les ventes d’une année sur l’autre.

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

Premièrement, ouvrir le fichier PBI_Lab37.pbix et l’enregistrer sous le nom PBI_Lab40.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.

En revanche, les pages existantes (Clients, Commerciale) dans ce rapport, ne présentent aucun intérêt pour la création des mesures.

Aussi, vous allez modifier le rapport PBI_Lab40.pbix.

Notamment, vous allez ajouter une nouvelle page vierge.

Aussi dans la vue Rapport, cliquer sur le + (en bas des pages) : Page 1 apparaît.

Ensuite, renommer la page Page 1 en Analyser. Un rapport doit toujours avoir au moins une page.

Supprimer la page Clients : cliquer aussi sur le bouton Supprimer du pop-up de confirmation.

Supprimer la page Commerciale : cliquer aussi sur le bouton Supprimer du pop-up de confirmation.

Création de la mesure Vte An Cumul pour TOTALYTD DAX

Dans la table Transactions, créer une nouvelle mesure qui se nommera Vte An Cumul.

La mesure Vte An Cumul doit calculer le cumul annuel de Mt Vente. Par exemple pour un filtre mensuel, cela signifie que chaque mois affiche le cumul de Mt Vente depuis le début de l’année. Autrement dit, la mesure Vte An Cumul doit cumuler le Mt Vente des mois précédents de l’année en cours.

Formater en € Euro (123 €) avec 0 décimales.

Utiliser uniquement la fonction DAX de Time Intelligence TOTALYTD.

Solution avec TOTALYTD 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 :

Vte An Cumul = TOTALYTD( [Mt Vente], Calendrier[Date])

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
La fonction DAX TOTALYTD évalue la valeur de la mesure Mt Vente pour l’année en cours jusqu’à une certaine date dans le contexte de filtre.
Dans le cas présent, la date prise en compte est la colonne Date du Calendrier.
Or, dans le modèle de données, la colonne Date du Calendrier est liée à la colonne VenteDate de la table Transactions avec une cardinalité (1:*).
Cela signifie que pour 1 date (du Calendrier), il y a N ventes correspondantes (dans Transactions).
Ça c’est l’explication du mécanisme.
Maintenant, peut-on vérifier les calculs de la formule ?
Oui, grâce à la vue Données de la table Transactions :
* Mars 2023, il y a eu 2 ventes (3420 €, 2205,9 €), soit un total de 5625,90 €.
* Avril 2023, pas de ventes.
* Mai 2023, il y a eu 2 ventes (11386,38 €, 1394 €), soit un total de 12780,38 €.
Au 31 mai 2023, la mesure Vte An Cumul affiche précisément 18406,28 €.

Fin de la solution.

Ajouter un visuel de type Matrice

Ensuite, vous allez ajouter un nouveau visuel.

Ouvrir la vue Rapport (à gauche, au-dessus de la vue Données).

Ensuite, cliquer sur une partie vierge quelconque de la page Analyser.

Puis ouvrir le volet Visualisations.

Puis ajouter un objet visuel de type Matrice. C’est celui qui ressemble à une feuille de calcul Excel avec des cellules colorées en bleu. Il est à droite du visuel Table.

Ensuite, afficher dans cet ordre :

  • En lignes : Calendrier[Annee], Calendrier[AnneeMois]
  • En valeurs : Transactions[Mt Vente], Transactions[Vte An Cumul]

Puis, dans la partie Format, cliquer sur :

  • Général
    • Position X : 0
    • Position Y : 0
    • Largeur : 510
    • Hauteur : 720
  • Grille
    • Taille du texte : 10 pt

Enfin, ouvrir les années 2023 et 2024.

Puis, dans le visuel, vérifier que la mesure Vte An Cumul cumule le Mt Vente des mois précédents de l’année en cours.

Pour l’année entière, remarquer que les montants sont strictement identiques entre la mesure Mt Vente et la mesure Vte An Cumul.

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

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

TOTALYTD DAX : Mesure Vte An Cumul (extrait)
TOTALYTD DAX : Mesure Vte An Cumul (extrait)

Création de la mesure Vte An Cumul A – 1

Dans la table Transactions, créer une nouvelle mesure qui se nommera Vte An Cumul A – 1.

Le principe est le même que pour la mesure Vte An Cumul. Toutefois, le calcul porte sur une période décalée par rapport à la période en cours.

Par exemple, si la date courante est juillet 2024, il faut afficher le cumul annuel de juillet 2023.

Généralement, cette mesure sert à comparer les ventes d’une année sur l’autre.

Formater en € Euro (123 €) avec 0 décimales.

Utiliser uniquement les fonctions de Time Intelligence TOTALYTD et SAMEPERIODLASTYEAR.

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 :

Vte An Cumul A - 1 = TOTALYTD([Mt Vente], SAMEPERIODLASTYEAR(Calendrier[Date]))

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
Le mode de calcul de cette formule est strictement identique à celui de la mesure Vte An Cumul (cf. plus haut).
La seule et unique différence tient au fait que le calcul se fait avec un décalage temporel d’une année en arrière grâce à la fonction SAMEPERIODLASTYEAR.
Concrètement, lorsque la date en cours est juillet 2024, le calcul se fera comme si la date en cours est juillet 2023.

Fin de la solution.

Modifier un visuel de type Matrice

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

Notamment, 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 Vte An Cumul A – 1.

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

Enfin, dans le visuel, vérifier que la mesure Vte An Cumul A – 1 cumule le Mt Vente des mois précédents de l’année précédente. Autrement dit, les chiffres de la colonne Vte An Cumul A – 1 sont ceux de la colonne Vte An Cumul de l’année précédente.

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

TOTALYTD DAX : Mesure Vte An Cumul A - 1 (extrait)
TOTALYTD DAX : Mesure Vte An Cumul A – 1 (extrait)

Enregistrer son travail

Ensuite, enregistrer le fichier PBI_Lab40.pbix.

Ce contenu a été publié dans Power BI. Vous pouvez le mettre en favoris avec ce permalien.

Laisser un commentaire

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