Passer au contenu principal

Historique des mesures du disjoncteur

L'utilisation d'une mesure de changement pour basculer les résultats est une technique courante et mature utilisée dans Power BI et Power Pivot pour Excel. Par exemple, une mesure de changement peut être utilisée pour basculer ce qui apparaît sur un graphique afin que l'utilisateur final puisse facilement modifier les données affichées (voir l'image ci-dessous).

Mesure de l'interrupteur d'origine

Cette technique utilise une table déconnectée, un segment pour recevoir la sélection de l'utilisateur et une mesure de changement pour modifier le résultat de la mesure en fonction de l'entrée de l'utilisateur. Lorsque vous sélectionnez une option sur le segment, vous pouvez mettre à jour votre graphique pour afficher le résultat que vous souhaitez voir sur le graphique. J'ai blogué à ce sujet en 2014. ici. Voici à quoi ressemble la mesure de l'interrupteur ci-dessus.

Bien que cette technique soit utile, il y a eu une limitation avec cette approche; la mesure finale ne peut être que dans un format numérique unique.

Par exemple, si vous avez les 3 mesures suivantes qui nécessitent un format différent, votre graphique peut afficher les valeurs en fonction de la sélection, mais le format de l'axe ne changera pas en réponse à la mesure différente.

  • Ventes totales - Devise
  • Nombre total de produits: nombre entier
  • Var vs LY% - Pourcentage

J'ai créé une idée sur le site d'idées Power BI en 2016 pour permettre format basé sur une sélection dans la mesure Switch. L'idée a recueilli plus de 3 000 votes. Il est maintenant possible de résoudre ce problème en utilisant des groupes de calcul au lieu de changer de mesure. Dans mon article de blog aujourd'hui, je vais vous montrer comment.

Mesures dans le modèle de données

J'utilise à nouveau la base de données Adventure Works pour cet article. Et comme indiqué ci-dessous (# 1), j'ai 4 mesures avec 3 formats différents (je n'en utiliserai que 3 dans ma démo ci-dessous).

Configurer le rapport

Tout d'abord, j'ai placé un graphique et un segment sur le canevas du rapport, comme indiqué ci-dessous.

En utilisant l'ancienne technique de mesure par interrupteur, l'étape suivante consisterait à créer une table déconnectée pour le couteau. Le nouveau processus utilisera un groupe de calcul au lieu de la table déconnectée. Pour ce faire, vous devez avoir installé Tabular Editor sur votre ordinateur. Vous pouvez en savoir plus sur la façon de le faire dans mon article sur l'installation d'outils externes pour Power BI.

Éditeur tabulaire

Sous Outils externes (n ° 1 ci-dessous), sélectionnez Éditeur tabulaire (n ° 2). Si vous ne voyez pas ces options de menu dans Power BI Desktop, lisez mon article lié ci-dessus.

L'éditeur tabulaire s'ouvre et vous pouvez voir les tables de votre modèle de données sous Tables dans le volet gauche.

Créer un groupe de calcul

Cliquez avec le bouton droit sur le dossier Tables (n ° 1 ci-dessous), cliquez sur Créer nouveau (n ° 2), puis sur Groupe de calcul (n ° 3).

J'ai nommé le nouveau groupe de calcul comme élément de graphique (# 1 ci-dessous).

Dans l'élément de graphique du groupe de calcul (n ° 1 ci-dessous), créez des éléments de calcul. Cliquez avec le bouton droit sur Éléments de calcul (n ° 2), puis cliquez sur Nouvel élément de calcul (n ° 3).

J'ai créé 3 éléments de calcul comme indiqué ci-dessous (# 1).

L'étape suivante consiste à créer une mesure pour le groupe de calcul. Auparavant, cela était géré en mesurant l'interrupteur à l'aide de l'ancienne technique:

  • Cliquez avec le bouton droit de la souris sur le groupe de calcul "Elément de graphique", puis cliquez sur Créer nouveau puis sur Mesurer.
  • Nommez la mesure en tant qu'élément de graphique sélectionné (# 1 ci-dessous)
  • Ajoutez la fonction DAX spéciale SELECTEDMEASURE () pour la mesure Élément de graphique sélectionné comme indiqué ci-dessous (# 2).

Ensuite, pour chacun des éléments calculés (n ° 1 ci-dessous), ajoutez la mesure correspondante (n ° 2) en tant qu'expression (n ° 3). Il n'y a pas d'IntelliSense au moment de la rédaction et vous devez prendre soin d'écrire les mesures exactement telles qu'elles apparaissent dans le modèle de données. Cliquez ensuite sur Enregistrer (# 4).

Arrêtons-nous ici et voyons comment cela fonctionne.

Vous verrez une nouvelle table appelée «Élément de graphique» qui contient une seule colonne et une seule mesure dans Power BI (n ° 1 ci-dessous). Si vous avez déjà utilisé des mesures de changement de cette manière, vous reconnaîtrez que cette nouvelle table, colonne et mesure vous offre la même expérience à laquelle vous étiez habitué.

J'ai ajouté la colonne «Élément de graphique» [Nom] au cutter (# 2 ci-dessous) et la mesure [Élément de graphique sélectionné] au graphique linéaire (# 3 ci-dessous). Ensuite, j'ai ajouté le calendrier [MonthName] à l'axe du graphique de l'axe des x et j'ai défini un filtre sur Fin. Année = 2004.

Notez qu'à ce stade, le format de vente de vélos % est le format décimal (# 4 ci-dessus). C'est le problème original auquel j'ai fait référence plus tôt, et ce problème peut maintenant être résolu avec les groupes de calcul.

  • Revenez à l'éditeur tabulaire.
  • Ensuite, accédez à la mesure des ventes totales d'origine (n ° 1 ci-dessous), recherchez «Chaîne de format» (n ° 2 ci-dessous) et copiez le format (n ° 3 ci-dessous). Accédez ensuite à l'élément de calcul (# 4 ci-dessous), recherchez la propriété «Format d'expression de chaîne» (# 5 ci-dessous) et collez le format d'expression de chaîne (# 6 ci-dessous). [Remarque: vous pouvez taper la chaîne sans couper-coller si vous connaissez la syntaxe correcte pour le faire - je pense simplement qu'il est plus facile de couper-coller.]

  • Répétez pour les 2 autres éléments de calcul.
  • Enregistrez vos modifications et fermez l'éditeur tabulaire.

Une chose à garder à l'esprit ici. La chaîne de format d'expression (# 6 ci-dessus) doit être entre guillemets, mais elle n'est pas entre guillemets indiquée dans # 3 ci-dessus - déroutant, je sais. La raison de la différence est que n. 3 ci-dessus est une propriété de la mesure. La chaîne d'expression au format # 6 est en fait une formule DAX qui doit renvoyer une chaîne de texte. C'est en fait très puissant car vous pouvez spécifier une chaîne statique comme "#, ## 0", mais vous pouvez également écrire une mesure DAX qui renvoie conditionnellement différentes chaînes de texte, comme IF ([Some Measure] = "Some Condition", "format type 1 ″, ”format type 2 ″). J'espère que cela a du sens. Tu peux lire Article du blog Kasper ici si vous voulez plus d'informations

Utilisation du groupe de calcul pour filtrer dynamiquement le graphique

Comme indiqué ci-dessous, notez que l'axe du graphique est désormais mis à jour pour refléter le format numérique correct.

Formatage dynamique des mesures de commutation