Créer une mesure DAX invariante sauf pour une dimension

L’objectif général est de créer une mesure DAX qui ne varie pas en fonction du contexte de filtres sauf pour une seule dimension.

Dans le cas présent, il s’agit de la dimension Année. Bien évidemment, la mesure fonctionne avec d’autres dimensions.

Cet exercice purement pédagogique explique le fonctionnement combiné des fonctions ALL et VALUES. Bien évidemment, vous pouvez aussi le résoudre en utilisant uniquement la fonction ALLEXCEPT.

Manipulations

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

Ouvrir le fichier Rapport_Lab3F.pbix et l’enregistrer sous le nom Rapport_Lab3Z.pbix.

L’intérêt du fichier Rapport_Lab3F.pbix 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 dans ce rapport (Clients, Commerciale) ne présentent aucun intérêt pour la création des mesures.

Aussi, vous allez modifier le rapport Rapport_Lab3Z.pbix.

Notamment, vous allez ajouter une nouvelle page vierge.

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

Renommer la page Page 1 en Décembre. 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 Mt Vente Annee

Dans ce scénario, vous souhaitez disposer d’une mesure qui ne varie pas en fonction des filtres, sauf pour l’année.

Autrement dit cette nouvelle mesure doit être insensible au contexte de filtre sauf pour la colonne Calendrier[Annee].

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

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 Annee = CALCULATE([Mt Vente], ALL(Transactions), VALUES(Calendrier[Annee]))

Appuyer sur la touche entrée du clavier.

Explication de la formule
La fonction ALL enlève tous les filtres sur toute la table Transactions. Cela signifie que dans cette mesure, les filtres ne s’appliquent plus sur la table Transactions, indépendamment de leur provenance.
La fonction VALUES, au contraire, rétablit le filtre sur la colonne Calendrier[Annee].

Vous allez formater la mesure Mt Vente Annee en € Euro (123 €) avec 0 décimales.

Dans le ruban Outils de mesure, cliquer sur la proposition € Euro (123 €) dans le menu déroulant de $, puis mettre 0 dans le nombre de décimales.

Créer une nouvelle page

Vous allez ajouter une nouvelle page vierge, nommée Canaux.

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

Renommer la page Page 1 en Canaux. Un rapport doit toujours avoir au moins une page.

Ajouter un visuel de type Segment

Ensuite, vous allez ajouter un nouveau visuel.

Pour ce faire, ouvrir la vue Rapport (à gauche).

Cliquer sur une partie vierge quelconque de la page Canaux.

Ouvrir le volet Visualisations (à droite).

Ajouter un objet visuel de type Segment. C’est celui qui contient un petit entonnoir. Il est juste à gauche du visuel Table.

Dans l’onglet Ajouter des données à votre visuel, ajouter dans Champ :

  • Canaux[Canal]

Dans l’onglet Mettre en forme votre visuel, rechercher et modifier :

  • Taille
    • Hauteur : 80
    • Largeur : 630
  • Position
    • Horizontale : 10
    • Verticale : 0
  • Paramètres du segment
    • Options
      • Orientation : Horizontale
  • En-tête de segment : Désactivé

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

Champ Canal positionné sur la page
Champ Canal positionné sur la page

Modifier le visuel de type Matrice

Ensuite, copier le visuel de type matrice de la page Décembre sur la page Canaux.

Dans l’onglet Ajouter des données à votre visuel, modifier la zone Valeurs pour obtenir :

  • Transactions[Mt Vente]
  • Transactions[Mt Vente Annee]

Dans l’onglet Mettre en forme votre visuel, rechercher et modifier :

  • Taille
    • Hauteur : 200
    • Largeur : 290
  • Position
    • Horizontale : 40
    • Verticale : 100

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

Champ Gamme positionné sur la page
Champ Gamme positionné sur la page

Les deux mesures sont identiques pour chaque année, tant qu’aucun canal n’est sélectionné.

Cliquer sur un canal quelconque, par exemple Magasin, la mesure Mt Vente est bien filtrée, tandis que la mesure Mt Vente Annee n’est pas filtrée par le canal.

C’est le résultat attendu.

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

Vérification de la mesure
Vérification de la mesure

Enregistrer son travail

Enregistrer le fichier Rapport_Lab3Z en cliquant sur la disquette en haut et à gauche.

Fermer le fichier Power BI Desktop

Fermer le fichier Rapport_Lab3Z.

Résumé

A l’aide de la combinaison des fonctions CALCULATE, ALL et VALUE, vous avez appris à créer une mesure DAX insensible au contexte de filtres sauf pour la dimension sélectionnée.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.