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

Postar um comentário

Postagens mais visitadas deste blog

[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

Power BI - DAX - Canivete Suiço dos Valores Acumulados

Com certeza você já deve ter quebrado bastante cabeça quando precisou calcular valores acumulados dentro do Mês, Semana, Ano, periodo específico nao é? Então nesse vídeo mostro 9 medidas de calculos de valores acumulados ao longo de varios tipos de periodos diferentes.

[Power BI] Lista do SharePoint não é Banco de Dados, OK?

Olá viciados em SharePoint e outras coisas mais que são impronunciáveis a essa hora, tudo bem? Bem se você já conhece esse blog sabe que sou apaixonado por tecnologias Microsoft e com o SharePoint não poderia ser diferente, MAS... aí vem o grande MAS... não usem listas do SharePoint como Banco de Dados, porque as consultas a esse tipo de fonte são extremamente lentas e ineficientes seja no nosso Projeto no Power BI ou para qualquer outra coisa que você queira fazer que precise utilizar esses dados. Então vamos lá, para nossa demonstração pra não ficar só no meu PAPO! Para nossa demonstração eu criei três Fluxos de Dados (DataFlows) no Power BI Web utilizando 3 fontes de dados que possuem os mesmo dados, uma tabela de duas colunas e mais de 200 mil linhas, no Excel, SharePoint e Azure SQL Server. Criei uma única entidade em cada Fluxo de Dados para que pudéssemos avaliar o tempo de atualização de cada uma das Fontes. Conectei meu Power BI Desktop a esses Data Flows para qu