Les formats dynamiques de mesures dans Power BI permettent de changer le format de l’affichage des données en fonction du contexte du visuel.
Par exemple, une mesure peut afficher des ventes en euros ou en dollars, en fonction de la sélection de l’utilisateur.
Cette fonctionnalité permet d’éviter de passer par des groupes de calculs et de “bidouiller” votre modèle de données avec Tabular Editor.
Désormais, tout se fait de manière transparente via l’interface de Power BI. Suivez ce guide pour voir un exemple concret !🔎
Dans mon exemple, nous souhaitons afficher un tableau de valeurs multi-devises, en affichant le symbole de la devise devant la valeur :
Créer un format dynamique de mesure
- Sélectionnez dans le panneau Données la mesure pour laquelle spécifier un format dynamique. Dans mon cas il s’agit de Sales amount.
- Dans le menu Outil de mesure qui s’affiche en haut, dans Format, sélectionnez Dynamique :
- Sélectionnez Format, et remplacez dans la barre de formule le contenu par l’expression DAX qui générera le format voulu :
à remplacer par une expression DAX :
- Vérifiez dans un visuel tableau que le format dynamique fonctionne bien, notamment pour la ligne Total qui a un contexte de filtre différent des autres lignes du tableau :
💡Vérifiez d’ailleurs si cela a un sens d’afficher la ligne Total selon le cas (ici non car les devises étant différentes, cela n’a pas de sens d’additionner les montants).
Cas concret : Affichage des symboles des devises
Vous pouvez vous exercer à la création de formats dynamiques à l’aide de mon exemple à télécharger à la fin de cet article, ou bien sur vos propres données.
- Pour notre exemple, commençons par créer une table des devises avec au moins 2 colonnes Currency Code et Currency Symbol. Pour cela, allez dans Power Query puis faites Entrer des données pour renseigner les valeurs à la main. Vous pouvez récupérer une liste des symboles de devises sur ce site.
- Fermez et chargez la table Currency dans le modèle de données Power BI.
- Créez une mesure Sales amount = SUM(FinanceData[Sales]), ou reprenez une de vos mesures dans votre propre modèle.
- Créez un visuel table, avec des colonnes issues de la table de faits, ici FinanceData, ainsi que la mesure Sales amount : par exemple Country, Currency Code, Sales amount.
- Créez le format dynamique de la mesure Sales amount en reprenant les étapes précédentes de l’article.
L’expression en DAX utilisée pour le format de devises dynamique est :
VAR selCurrency = SELECTEDVALUE(FinanceData[Currency Code], "")
RETURN
LOOKUPVALUE(
'Currency'[Currency Symbol],
'Currency'[Currency Code],
selCurrency
)
& " #,0"
Explication de l’expression :
- Définition de la variable selCurrency : La fonction SELECTEDVALUE(FinanceData[Currency Code], “”) attribue à selCurrency la valeur actuellement sélectionnée dans la colonne Currency Code de la table FinanceData (c’est la même colonne que dans le visuel table affiché dans le rapport).
- Si aucune valeur n’est sélectionnée, elle retourne une chaîne de caractères vide (“”). Ceci est le cas avec la ligne Total où il n’y a pas de sélection de devises.
- Après RETURN, on retourne le résultat de la fonction LOOKUPVALUE, qui cherche dans la table Currency le symbole de la devise correspondant au code de la devise affichée dans le visuel.
- Le résultat est concaténé avec la chaîne ” #,0″, qui est utilisée pour formater les montants des ventes.
📌A noter que dans mon exemple, la table Currency est déconnectée des autres tables, car l’expression DAX du format dynamique utilise un simple LOOKUPVALUE pour rechercher le format pour la devise sélectionnée par l’utilisateur.
Pour aller plus loin
💡Si l’on souhaite appliquer un format complètement personnalisé selon la devise, par exemple afficher les € derrière les montants et les $ devant le montant, cela est tout à fait possible, en créant une colonne Currency Format dans la table Currency :
- Pour EUR, Currency Format = “#,0 €”
- Pour USD, Currency Format = “$ #,0”
Ensuite, dans l’expression DAX du format dynamique de la mesure, il suffira d’aller chercher cette colonne à la place de concaténer la colonne Currency Symbol avec le format “#, 0”.
Téléchargez le fichier d’exemple
Entrez votre e-mail ci-dessous pour recevoir le fichier dans votre messagerie :
Format dynamique de mesure - cas pratique des devises
Envoyer le lien de téléchargement à :
Conclusion
Les formats dynamiques de mesures sont un outil puissant dans Power BI pour personnaliser la présentation des données💪
Expérimentez ces techniques dans vos propres rapports Power BI ou contactez-moi pour une expertise approfondie et des conseils personnalisés.
👉 Cliquez ici pour accéder à la formation complète pour maîtriser Power BI