Pular para o conteúdo principal

[Power BI Like a Pro] Compartilhando AUTOMATICAMENTE relatórios com novos usuários da sua equipe.

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

  1. Parabéns Rafael! Sua dica me ajudou bastante. Vlw!

    ResponderExcluir
  2. Muito bom, obrigado Rafael, foram 2 semanas de pesquisa, tive que adaptar minha ETL pois minha dimensão era virtual ai não conseguia colocar o Indice, mais após fazer ela virar uma "Tabela física" consegui aplicar com facilidade sua técnica.

    ResponderExcluir
  3. Queria saber como posso fazer para congelar colunas nas tabelas assim como o excell fazes em congelar painéis, pois tenho um acompanhamento diário, onde cada coluna é um dia do mês, então quando vou olhar o total no final da coluna, a primeira coluna com o nome dos vendedores some. Se eu for para a matriz, a mesma não permite ranking de vendedores.

    ResponderExcluir
  4. kkkkk, divertido seus textos...kkkkk...Ótimas dicas! Já te sigo no youtube . Obrigada!

    ResponderExcluir
  5. Rafael,
    Boa noite!
    Tudo bem?

    Me ajudou muito com esta explicação, para eliminar os repetidos no Rank, obrigado.

    Mas tenho uma dúvida... é possível obter o mesmo resultado, sem criar uma coluna física de índice? Apenas usando medida DAX.

    Juro que tentei de todas as formas, mas não obtive sucessso, estou curioso em saber se é possível.

    ResponderExcluir
  6. Este comentário foi removido pelo autor.

    ResponderExcluir
  7. Sensacional! Muito obrigado por compartilhar. Valeu!

    ResponderExcluir
  8. Meu Rank ficou correto, mas o resultado das minhas vendas no acumulado se repete.

    ResponderExcluir

Postar um comentário

Postagens mais visitadas deste blog

5 coisas no Power Query que talvez nunca tenham te explicado ou mostrado.

5 coisas no Power Query que talvez nunca tenham te explicado ou mostrado. O Power Query   é o editor de consultas utilizado tanto no PowerBI   quanto no Excel (em algumas versões) e que tem enorme poder de transformação dos dados importados de fontes diversas, sejam elas estruturadas ou não. Usuários menos experientes utilizam o  Power Query  apenas com cliques nos elementos do MENU, o que sim pode ajudar bastante, mas entender as funções e detalhes que estão por trás desses cliques podem enriquecer o seu  ETL , resolver problemas que nunca seriam feitos com o simples uso dos botões e te ajudarão numa certificação Microsoft. 1 - Sabendo o que está acontecendo: Uma das coisas principais e essenciais no uso do  Power Query  é que, mesmo utilizando os botões no Menu, você consegue identificar que funções estão sendo utilizadas. Vou mostrar isso de duas formas: Barra de Formulas - Dessa forma você pode acompanhar na barra de formulas

[Power BI] O totalizador da minha Tabela ou Matriz "NÃO BATE" e agora?

Olá amantes de visuais de tabela e matriz no Power BI, tudo bem? Hoje vamos falar de um caso que vejo bastante nos grupos do Power BI. “O calculo na linha está batendo mas no total não e agora?” Mas antes de iniciarmos, que tal deixar aquela sua inscrição marota no meu canal no youtube que está recheado de vídeos legais, vai lá seu pão duro de like youtube.com/rafaelmendonca Agora que você já aliviou sua pão-durice você merece conteúdo .... kkkkkkkk Vamos lá, temos então a seguinte tabela gerada no meu conjunto de dados Essa tabela possui uma lista de vendas realizadas por dois vendedores com o numero da ordem da venda, um valor unitário e uma quantidade de itens em cada venda. O que queremos é bem simples meu jovem, calcular o valor total de cada venda e ter um total de todas as vendas... Aí você muito garotão usa a seguinte expressão DAX: E depois joga isso numa tabela. Lindo neh??? Mas o totalizador trouxe um valor que não tem