Power BI - Criando Ranking sem Repetições


Bom dia, Boa tarde e Boa noite, viciados em Power BI de todo Brasil.

Vamos falar de Ranking?


Se você já criou um ranking já se deparou com situações em que a expressão a ser ranqueada se repete e o que acontece? puff... o Power BI dá a todos o mesmo Rank.

Isso as vezes pode te prejudicar se estiver tentando fazer um Gráfico de Pareto e vocês vão ver o porquê.

Conhece meu canal no youtube? Nããããão?????

...que absurdo...

então vai lá no youtube e se inscreve, já que tu ta de bobeira mesmo para ler esse artigo.
CLICA AQUI!

"Letra 'a' VAMOS COMEÇAR... "


Tenho então duas tabelas fVendas, que tem os valores de vendas em um período X por cada vendedor e uma tabela dVendedores que tem o cadastro dos meus vendedores com um relacionamento entre elas na coluna [Vendedor].



Inserimos um visual de tabela dVendedores[Vendedor] numa coluna e fVendas[Vendas] na segunda coluna e um Rank do jeito "padrão" de fazer e novamente nenhum segredo para vocês doutores do ABC em Power BI.


Vamos então criar as duas colunas que faltam para nosso Pareto, vendas acumuladas de acordo com o Ranking e % de vendas Acumuladas.. (Se você não sabe o que é Pareto clica AQUI e veja o vídeo do Planilheiros).

Faremos elas utilizando as seguintes funções:
Venda Acumulada =
CALCULATE (
    SUM ( fVendas[Vendas] );
    TOPN ( [Rank]; ALL ( dVendedores[Vendedor] ); [Rank]; ASC )
)


% Acumulado =
[Venda Acumulada] / CALCULATE ( SUM ( fVendas[Vendas] )ALL ( fVendas ) )

Temos então os problemas.... Quando você verifica as duas primeiras vendedoras, ambas tiveram o mesmo valor de venda R$ 2.600,00, e então o RANKX classifica ambas com o mesmo RANK ( 1 ) e como consequência temos então que na Venda Acumulada e % Acumulados tenhamos valores iguais para as duas. 

Queremos então criar um Rank em que meus vendedores sempre tenham valores exclusivos e assim resolveremos toda essa problemática.

Para esse exemplo eu vou considerar como fator de "desempate" simplesmente a ordem alfabética dos nomes. No nosso novo Rank então Camila Será 1 e Fernanda Será 2.

Como fazer isso? Mais simples do que você pode imaginar.

Vamos em "Editar Consultas" e lá no Power Query editar a tabela dVendedores.

Se queremos que nossa sequência seja por ordem alfabética vamos então colocar nossos vendedores em ordem alfabética....MASSSSSSS... não de A para Z mas de Z para A, ou seja na ordem decrescente.



Feito isso adiciona aí uma Coluna Índice iniciando em 1 mizifío...

Adicionou? Beleza vamo simbora...

Agora vamos fazer uma macacada que é o pulo do gato - quanto bicho numa só frase...

Pense bem... se eu tenho dois vendedores com mesmo valor de venda qualquer milésimo de centavo a mais na sua venda faria ele ficar à frente do outro, concorda?

Então olha o que temos agora na nossa coluna...

Como antes de inserir o índice, ordenamos nossos vendedores em ordem alfabética decrescente, a Camila tem um Índice de número 11 e a Fernanda de número 8.

Bem podemos utilizar esse índice então para desempatar? Porque não?

Como o valor de índice é um inteiro e nossas vendas são decimais é ideal quer para usa-los para como desempate no que vamos fazer a seguir, dividamos esse valor por algum numero bem alto, para que tenhamos como resultado um decimal tão ridiculamente pequeno que não fará diferença quando "somado".

Então garotinho, seleciona a coluna "Índice" vai na guia Tranformar>Padrão>Dividir e coloca um numero bem grande como 1.000.000.

'Fechar e aplicar" e vamos fazer a magia acontecer.

Na nossa medida de RANK que antes no segundo argumento somente tinha  a CALCULATE(sum(fVendas[Vendas)), vamos alterar para CALCULATE(sum(fVendas[Vendas])+sum(dVendedores[Índice]))

Ou seja vamos rankear não somente pelo valor da venda, mas pelo valor da venda somando aquele decimal picototinho que está la na coluna índice.

Ficará assim nossa nova RANKX

Rank =
RANKX (
    ALL ( dVendedores );
    CALCULATE ( SUM ( fVendas[Vendas] ) + SUM ( dVendedores[Índice] ) );
    ;
    DESC
)

E com esse ajuste temos nossa tabela com valores exclusivos de Rank.


E agora podemos montar nosso belíssimo Gráfico de Pareto:



Esse conceito de criar novas colunas para ordenar pode ser aplicado de outras formas, use sua imaginação.


Grande abraço e até a próxima.


Comentários

Postar um comentário