terça-feira, 5 de maio de 2020

Calculando Porcentagens de Categorias no Power BI

Ao elaborar um relatório no Power BI, é muito comum termos que exibir algumas informações que não estão explícitas nas bases de dados. Vejamos um exemplo, onde os dados representam a receita bruta de uma empresa fictícia por canal de venda para acompanhamento dos impactos do COVID-19, de acordo com a tabela abaixo:


Neste caso, vamos elaborar um gráfico de colunas empilhadas que mostra a evolução dos canais de venda em termos de receita. Após importação dos dados para o Power BI, ajustes dos tipos e algumas configurações do visual, obtemos o seguinte resultado:


Agora vamos supor que queremos exibir a representatividade de cada canal sobre o total das vendas de cada mês ao mover o cursor sobre uma região do gráfico. Por exemplo, na imagem abaixo, ao selecionar a região de "Varejo (lojas físicas)" no mês de fev/2020, desejamos que apareça 29,4% (que seriam as vendas em lojas físicas, R$ 12.183 kBRL, sobre as vendas totais naquele mês, de R$ 41.383 kBRL).


É necessário criar uma nova Medida (Measure, na versão em Inglês). Neste caso, precisamos que o cálculo seja a receita de um determinado canal dividida pela soma das receitas desconsiderando a categorização por canal de venda. Ou seja, para que o denominador não seja filtrado pela coluna "Canal de venda", faremos uso da função ALL do DAX (linguagem padrão das medidas no Power BI):

Representatividade = SUM(Vendas[Receita (kBRL)])/CALCULATE(SUM(Vendas[Receita (kBRL)]);ALL(Vendas[Canal de venda]))

No numerador, a função SUM é aplicada de forma usual, uma vez que deve ser suscetível à categorização gerada pela coluna "Canal de venda" no campo "Legenda". Note que o SUM é utilizado neste caso, pois, para que a coluna "Receita (kBRL)" retorne um valor, ela deve estar contida dentro de uma função agregadora (como SUM ou AVG). No caso do denominador, torna-se necessário o uso da função CALCULATE, uma vez que não apenas desejamos somar as vendas, como também ignorar os filtros do visual na coluna "Canal de venda" por meio do ALL.

Em seguida, ao selecionar a medida, é possível configurá-la para exibição como porcentagem e com apenas um algarismo depois da vírgula:


Por fim, basta arrastar a nova medida para o campo "Tooltips" da visualização e já é possível verificar a representatividade ao passar o ponteiro do mouse sobre as regiões do gráfico.


Teste você mesmo, acesse os dados deste exemplo clicando aqui.

Tem alguma dúvida, crítica ou sugestão? Comente aí embaixo!

Um comentário: