Um dos maiores desafios ao se desenvolver painéis administrativos é aproveitar bem o espaço das páginas e, ao mesmo tempo, exibir a informação de forma completa e objetiva. Por isso, neste post, vamos ensinar uma alternativa para exibir valores distintos em um único gráfico utilizando-se medidas dinâmicas no Microsoft Power BI. Isso possibilita que o usuário troque a medida dos gráficos de um relatório de forma dinâmica, através de um visual do tipo filtro ou segmentação de dados.
Primeiramente, ressaltamos que esse é o método “old-school” de resolução deste problema, sem necessidade de uso de outras ferramentas. Em uma das atualizações recentes do Power BI, é possível alcançar esse mesmo resultado utilizando “Calculation Groups” através de ferramentas de edição do dataset, como o “Tabular Editor”. Caso você esteja buscando essa solução, confira o vídeo dos Planilheiros sobre o assunto:
Power BI (Desktop) – Usar Medidas como filtro (Segmentação de Dados) – Tabular Editor – YouTube
A solução
Para a criação deste exemplo, nós utilizamos a base de dados de exemplo disponível no próprio Power BI Desktop.
A solução desenvolvida é composta de:
- três medidas em DAX, contendo os cálculos que desejamos apresentar;
- uma tabela auxiliar, que irá funcionar como dimensão para o filtro que seleciona a medida dinamicamente (ou seja, essa tabela é basicamente uma lista com os nomes das medidas);
- uma medida dinâmica, que será utilizada no gráfico.
Criação das medidas no Power BI
Depois que importamos os dados de exemplo para o Power BI, criamos 3 medidas utilizando a tabela Financials.
Preço Bruto:
Preço bruto = SUM(financials[Gross Sales])
Preço Líquido:
Preço Líquido= SUM(financials[Sales])
Lucro:
Lucro = SUM(financials[Profit])
Criação da tabela auxiliar
Como dito anteriormente, essa tabela será responsável por possibilitar a seleção da medida por parte do usuário. Sendo assim, ela nada mais é do que uma lista com os nomes das medidas que você deseja disponibilizar no seu relatório. Para a criação da tabela, utilizamos a funcionalidade de entrada manual de dados, conforme mostra a imagem abaixo:
Criação da medida dinâmica
Criaremos uma medida chamada MedidaDinamica para, a partir deste ID da tabela TabelaMedidas, selecionar a medida correta para apresentar no gráfico.
Medida Dinâmica:
MedidaDinamica =
SWITCH(
MAX(TabelaMedidas[ID]),
1, [Preço Bruto],
2, [Preço Líquido],
3, [Lucro]
)
Criação do filtro
Por fim, basta desenhar o relatório com os gráficos que desejar e utilizar a medida dinâmica onde for conveniente. Para que o usuário possa fazer trocas entre as opções de medidas, devemos disponibilizar os botões que ele vai precisar para isso. A nossa sugestão é utilizar um objeto do tipo filtro e configurá-lo com a funcionalidade de exibição responsiva. Dessa forma, ele vai aparecer como grandes botões de opções na tela.
Na imagem abaixo, selecionamos a opção de visualização de filtro e escolhemos o campo MEDIDA que contém o nome da medida na tabela auxiliar que criamos.
Dica: para formatar o filtro deixando com aparência de botão, deve se acessar a guia de formatação e no ítem Orientação selecionar a opção Horizontal.
Além disso, outra sugestão é incluir um visual do tipo cartão que terá a como campo a MedidaDinamica. Assim, para cada seleção feita no filtro, teremos uma mudança na medida que é exibida no visual de cartão.
Dica: para formatar o título também dinamicamente, de acordo com a seleção de filtro, basta incluir o campo de coluna MEDIDA na formatação de nome do título, conforme a indicação da imagem a seguir.
Resultado
Veja abaixo o resultado final do relatório produzido para este post. Nele, colocamos mais três visualizações diferentes (um gráfico de colunas, um treemap e um mapa), todas utilizando a medida dinâmica que criamos. Repare que, através dos botões no canto superior direito, podemos facilmente trocar qual a medida exibida por todas as visualizações.
Agora você já sabe como construir medidas dinâmicas para as visualizações do Power BI. Descubra também como configurar RLS no Power BI!