Les paramètres-segments
Voici la vue d’ensemble du cycle de travail :
(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.