Power BI - Colorindo os gráficos com base em uma medida.



Olá seus escritores de Power Query em Libras, tudo bem? (sim eu sei que forcei...)

Vamos aqui rapidinho, porque eu não tenho tempo livre de vocês pra ta lendo um blog como esse, mostrar uma dúvida de um colega num dos grupos de Whatsapp.

Ele queria fazer uma formatação condicional de cores de um grafico de Barras. No caso específico ele queria as barras que tivessem os 10 maiores valores fossem azuis e as demais vermelhas.

Bem eu já mostrei a algum tempo atrás la no canal do Youtube, vai logo lá se inscrever CLICA AQUI, um vídeo que mostrava como criar uma formatação condicional (cores de fundo ou do texto) em uma tabela ou matriz com base em uma outra coluna ou com base em uma MEDIDA.

Acontece que isso fez tanto sucesso que a Microsoft na penúltima atualização (Novembro/2018) trouxe essa feature para os demais visuais permitindo agora saturar as cores de visuais de barra, coluna, mapa e etc com base em outra coluna ou numa medida.

Então vamos lá ao nosso exemplo

Criei um modelo com nome de pessoas e atribuí um valor qualquer a esses animais. Vamos querer criar um gráfico de barras que até o 5º maior valor fique na cor azul e os demais na cor vermelha ok?


Vamos então criar um gráfico de barras que no eixo X terá a coluna "Pessoa" e no valor a coluna "Valor"

E agora Rafael como colorir?

Easy garotinho...

Como eu ja falei para vocês la em cima, a titia MS nos deu o poder de formatar as cores desses valores  com base em uma medida. Então me responda qual a função DAX eu uso para criar uma "ordem" numeral com base nos valores?

RANKX !!!!!!!!

Vamos então criar um Ranking molezinha sem grandes dificuldades, bem 1º ano do primário.
Rank = 
RANKX(ALL(fDados);
      CALCULATE(SUM(fDados[Valor]));;
      DESC;
      Skip)
Essa Medida RANK cria um Ranking numerando de 1 à Quantidade de itens da fDados, com base na Soma da coluna Valor na ordem decrescente, ou seja quem tiver maior valor vai ganhar número 1, o segundo maior número 2 e assim por diante.

Se eu jogar esse Rank la naquela primeira tabelinha que mostrei pra vocês com os dados vai me trazer o seguinte resultado.
Como você pode ver o Juliano que tem o maior valor atribuído ficou no Rank 1, Ruy segundo maior valor, ficou no Rank 2.

Então agora só formatar nosso gráfico de barras selecionando ele, indo lá no rolinho de formato, cores dos dados e clicar em Controles Avançados.




Vai abrir uma caixa de diálogo e a primeira coisa que tem lá é opção de escolher "Formatar Por" e Valos Escolher "Regras", vai mudar a tela e irá aparecer "Com base no Campo" e escolhemos a medida criada chamada "Rank"



Muito bem, você vai ver então que existem agora as opções de "Regras", ou seja, como queremos que com base no Resultado de Rank sejam coloridas nossas barras.

Eu quero então que se no meu Rank estiver menor ou igual a 5 (ou seja, até o quinto maior valor) ele pinte a barra de Azul, caso contrário pinte de vermelho.

Agora só preencher as Regras,

Primeira:

Se o valor é maior que ou igual a Mínimo e é menor que ou igual a 5 então "Azul"

Segunda:

Se o valor é maior que 5 e é menor que ou igual a Máximo então "Vermelho"

Para aparecer as palavras Mínimo e Máximo basta que você apague o zero que o sistema coloca automaticamente no campo de valor.

Esses campos de valores SOMENTE ACEITAM NÚMERO.



Pode dar OK e seus dados estarão lindamente coloridos da forma como você pediu ao papai noel.


E por hoje é só pessoal, bons estudos e até a próxima.






Comentários