Les paramètres dans Power Query et dans les rapports (3) : les paramètres dans la visualisation, à l’aide des segments

Proposé par André Meyer-Roussilhon

3 février 2020

Restez informé, abonnez-vous à la newsletter (2 fois / mois)

15 + 1 =

Les paramètres-segments

Voici la vue d’ensemble du cycle de travail :

Le paramètre se présente sous la forme d’un segment (2), basé sur une table créée manuellement (1), permettant à l’utilisateur de faire varier le contenu d’une mesure (3) pour obtenir le visuel (4) – dont le titre est généré de manière dynamique (5).

(1)   Les données en entrée

Commençons donc par la table : elle est créée manuellement à l’aide la fonction Entrer des données du ruban Accueil, elle porte un nom (ChoixUser), la colonne elle aussi est nommée (choix), et j’y ai entré trois valeurs, HT, TTC et TVA, puis j’ai chargé la table. Point important : cette table n’est pas liée au reste du modèle.

(2) et (3) Le segment et la mesure

Sur la base de la colonne choix, j’ai créé un segment qui sera affiché sur le rapport final :

Là où « opère la magie », c’est dans la création d’une mesure dont le contenu varie (SWITCH) en fonction du choix de l’utilisateur (SELECTEDVALUE). C’est cette mesure qui sera affichée dans le rapport :

Arrêtons-nous un instant sur la formule :

  • La fonction SWITCH est l’équivalent d’un IF imbriqué, c’est-à-dire permettant de couvrir plusieurs cas de figures. SWITCH simplifie grandement l’écriture d’un tel scénario. Les trois cas possibles dépendent du choix opéré via le segment : HT, TTC ou TVA. Le premier paramètre de SWITCH est la variable à évaluer (ici, la valeur de la colonne choix), puis viennent des « paires » de paramètres : exemple, si l’utilisateur choisit HT, alors la mesure Indicateur prend la valeur SUM(Facts[HT]), et ainsi de suite.
  • La fonction SELECTEDVALUE est la contraction de la formule IF ( HASONEVALUE () ), c’est-à-dire qu’il s’agit de tester si le paramètre passé (ici, ChoixUser[choix]) a une – et une seule – valeur, auquel cas cette valeur est retournée. En cas d’absence de choix, une valeur par défaut pourrait être retournée.
    J’aurai donc pu améliorer ma formule ainsi : SELECTEDVALUE(ChoixUser[choix] ; « HT »), pour être sûr d’afficher une valeur même si l’utilisateur n’a pas fait de choix à l’aide du segment.
  • De même, la fonction SWITCH admet en dernier paramètre une valeur par défaut : ce serait ici redondant avec le point précédent.

N’oubliez pas de formater la mesure ainsi créée.

(4) et (5) Le visuel et le titre dynamique

Pour terminer, le visuel est créé, et affiche la mesure (Indicateur). Puisque l’utilisateur peut en changer le contenu, il est important d’ajouter un titre pour préciser la nature de l’indicateur (ici, HT). Pour ça, j’ai créé une deuxième mesure (nom_mesure_choisie) utilisée pour la mise en forme conditionnelle du titre :

Notez que pour s’assurer que le titre sera toujours affiché, la fonction SELECTEDVALUE propose aussi un choix par défaut, et pour une question de cohérence, le même que celui de la mesure Indicateur.

Articles associés :

Créer un graphique à base zéro pour suivre l’évolution

Créer un graphique à base zéro pour suivre l’évolution

Dans un graphique à base zéro, le premier point sert de référence (le point zéro), et tous les autres sont calculés en pourcentage de variation par rapport à cette référence. Ce type de graphique est utilisé par exemple dans le domaine financier, pour suivre l’évolution du cours d’une action – mais il peut servir pour suivre l’évolution de tout type de donnée.
Le graphique est intimidant, mais sa réalisation est en fait très facile, et repose sur des formules DAX étonnamment simples.

Délai entre deux dates, week-end et jours fériés

Délai entre deux dates, week-end et jours fériés

Une table du temps qui calcule automatiquement les jours fériés ? Vous en rêviez, daxone.fr vous l’offre ! Et j’en profite pour vous donner la méthode pour calculer le nombre de jours écoulés entre deux dates, en excluant les dimanches et les jours fériés (je suis sûr que ça va vous servir)

SUMMARIZECOLUMNS : la super-fonction du DAX

SUMMARIZECOLUMNS : la super-fonction du DAX

Vous ne connaissez peut-être pas cette fonction, et c’est pourtant celle que Power BI utilise le plus fréquemment pour répondre à vos demandes : il suffit de regarder le code généré par Power BI pour afficher votre visuel pour s’en convaincre.
Avec SUMMARIZECOLUMNS , la création d’une table issue de données provenant de différentes autres tables du modèle, incluant de nouveaux indicateurs, et filtrée sur des données précises, devient un jeu d’enfant.