web-dev-qa-db-fra.com

Feux de circulation dans Power Bi qui fonctionnent également pour les totaux

Comment rendre le feu de circulation dans le tableau visuel qui fonctionne également pour les totaux? Disons que notre KPI est une sorte de ratio ou une part comme PIB par habitant par pays, ou la différence par rapport au budget des magasins. Il est intéressant d'avoir des feux de circulation pour les catégories individuelles, mais il serait encore plus intéressant d'avoir un feu de circulation pour le résumé de toutes les catégories.

J'ai suivi et l'exemple montré ici : L'idée est basée sur l'ajout d'une mesure DAX:

TrafficLight = UNICHAR(11044)

Et puis nous avons mis en place une mise en forme conditionnelle pour les feux de circulation en fonction d'une autre colonne ou mesure. Mais la mise en forme conditionnelle ne semble pas affecter les totaux. Comment avoir un feu tricolore qui affiche également des couleurs rouge, jaune, vert pour les totaux?

enter image description here

Modifier. Semble être une fonction de rêve pour laquelle vous pouvez voter. Merci de voter pour cela!

https://ideas.powerbi.com/forums/265200-power-bi-ideas/suggestions/17401381-conditional-formatting-for-total-and-subtotals-in

4
Przemyslaw Remin

Vous êtes à mi-chemin avec UNICHAR(). L'étape suivante consiste à abandonner la mise en forme conditionnelle dans Power BI. Voici trois caractères Unicode que vous pouvez utiliser pour les feux de circulation. Je les ai obtenus de Emojipedia . Ces trois sont "cercle rouge", "cercle jaune" et "cercle vert".

RedLight = UNICHAR ( 128308 )

YellowLight = UNICHAR ( 128993 )

GreenLight = UNICHAR ( 128994 )

Ils ressemblent à ceci: red, yellow, and green circles from Unicode codepoints

Maintenant que vous avez des mesures renvoyant les bonnes couleurs, vous pouvez les référencer dans une autre mesure qui a votre logique de plage. Voici un exemple. J'ai utilisé vos noms de mesure. Mon image provient d'un classeur de démonstration avec des noms différents.

Sales Amount KPI = 
VAR SalesAmount = [SalesAmount]
RETURN
SWITCH (
    TRUE (),
    ISBLANK ( SalesAmount ), BLANK (),
    SalesAmount < 50, [GreenLight],
    SalesAmount < 150, [YellowLight],
    [RedLight]
)

Cela s'appuie sur SWITCH , dans lequel nous faisons quelque chose de légèrement intelligent. SWITCH teste son premier argument pour son égalité avec les arguments suivants. En testant contre TRUE (), nous pouvons avoir des expressions booléennes arbitraires. La valeur suivant l'expression correspondante est renvoyée.

Le premier test, ISBLANK consiste à éviter d'afficher cette mesure de KPI pour toutes les valeurs de dimension. Il renverra uniquement une valeur pour les attributs de dimension contenant des données pour la mesure de base.

Ensuite, ce n'est qu'une série de tests d'inégalité pour définir mes limites d'indicateur de performance clé, comme vous le feriez en formatage conditionnel.

Vous pouvez devenir aussi complexe que vous le souhaitez. Voici à quoi ça ressemble:

sample of KPI measure in a table visual

Étant donné qu'il ne s'agit que d'une mesure régulière renvoyant une valeur de texte normale, vous pouvez l'utiliser n'importe où qui affiche du texte, y compris des cartes, des multicartes, des info-bulles, des tableaux et des matrices. Il n'y a rien de spécial au niveau du grand total pour cette mesure.

1
greggyb

Les feux de circulation pour les totaux ne peuvent pas être effectués par des moyens standard, mais il existe une solution de contournement. Vous pouvez réaliser quelque chose comme ceci:

![enter image description here

L'idée est basée sur les points suivants:

  1. Ayez un dictionnaire pour la catégorie et ajoutez-lui la valeur "Total (moy)" ou nommez-le selon votre souhait.
  2. Décochez l'affichage des totaux dans le volet de format du visuel du tableau.
  3. Ajouter une mesure DAX qui renvoie un calcul différent pour les étiquettes ordinaires et différent pour "Total (moy)". Utilisez ici SWITCH(TRUE()... Voir les exemples en bas.
  4. Pour plus de commodité, ajoutez SortColumn à votre dictionnaire de catégories. Pour que votre "Total (moyenne)" soit toujours au bas du visuel du tableau, quel que soit le nom de votre total. enter image description here
  5. Malheureusement, il n'existe aucun moyen de configurer des polices en gras dans un formatage conditionnel. Vous ne pouvez jouer qu'avec l'arrière-plan et les polices. Effectuez une mise en forme conditionnelle en fonction des règles appliquées à SortColumn. J'ai grisé l'arrière-plan de "Total (avg)" et j'ai configuré les polices en noir. Vous devez configurer la même mise en forme conditionnelle pour chaque colonne d'un tableau. enter image description here
  6. Dans le format de tableau visuel, définissez une police légèrement grise pour les valeurs mortelles ordinaires. Cela permet d'obtenir plus de contraste avec les polices noires pour les totaux configurés au point précédent.

enter image description here

Voici les mesures DAX que j'ai utilisées: Mesure:

KPI = SWITCH(TRUE(),
MAX(DimCountry[SortColumn]) = 999, [GDP per capita Total],
[GDP per capita]
)

Et mesurer pour le total:

GDP per capita Total = CALCULATE([GDP per capita], ALL(FactTable))

Pour ceux d'entre vous qui ont lu jusqu'ici, voici le fichier pbix à télécharger.

TrafficLightsForTotals.pbix

0
Przemyslaw Remin