Formatação condicional divergente

Uma das perguntas frequentes que surge no forum do Power BI, é a aplicação da formatação condicional em tabelas, nomeadamente a formatação divergente.

A formatação condicional divergente é baseada nos valores da coluna/medida e é com base na análise do valor máximo, intermédio e mínimo. Podemos utilizar também a criação de regras com valores ou percentagem mas os valores terão apenas as cores definidas e não um gradiente como acontece com a formatação divergente.

Como é natural a maior parte dos utilizadores faz a comparação com o Excel e espera que mesma seja baseada em percentis nomeadamente o valor intermédio.

Numa última publicação surgiu a questão que queria replicar exactamente o mesmo tipo de formatação do Excel, sendo que o campo do valor intermédio no Power BI é de introdução manual a ideia que me ocorreu foi a de criar uma medida que calcula o percentil e os valores acima ou abaixo serão definidos de acordo com esse valor central.

A solução

Supondo que temos uma tabela com apenas duas colunas categoria e valor como apresentado abaixo:

Nesta simples tabela vamos aplicar uma simples formatação divergente no Excel com um percentil de 50 o resultado é o apresentado abaixo:

No Power BI a primeira parte passa por calcularmos o valor do percentil 50:

percentile =
CALCULATE(PERCENTILE.EXC(Table[Value];0,5);ALL(Table))

A função Percentil no Power BI apenas permite como paramêtro uma coluna se quisermos calcular o percentil de uma medida necessitamos de utilizar a formula aggregadores PERCENTILEX.EXC e teria a seguinte formulação:

percentile = 
PERCENTILEX.EXC(ALL('Table');[Measure];0,5)

Em ambos os casos utilizamos a expressão ALL de modo a que o valor devolvido seja sobre toda a tabela, para o nosso exemplo especifico o valor é igual a 5,50.

Agora apenas temos de calcular o diferencial entre o valor do percentil e o valor da coluna ou medida:

Percentile_Variation = SUM(Table[Value])-[percentile]

ou
Percentile_Variation = [Measure]-[percentile]

Isto dá-nos uma coluna com os seguintes valores:

Agora apenas temos de efetuar a formatação conditional com base na medida da variação do percentil, e colocar o valor intermédio igual a 0 assim temos o resultado abaixo:

Como podem verificar a formatação condicional quer no excel quer no Power BI é similar:

Para criarmos alguma dinâmica nesta formatação podem criar uma análise What If para criar uma tabela entre 0 e 1 e alterar o valor do percentil:

No caso especifico e com valores com diferencial muito baixo esta solução não funciona da mesma forma do Excel nomeadamente em valores abaixo do percentil 25 ou acima do 75, no entanto apresento a mesma como prova de conceito e potencial do Power BI.

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão /  Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão /  Alterar )

Connecting to %s

%d bloggers gostam disto: