Pular para o conteúdo principal

[Power BI e PowerAutomate] Versionamento e Publicação Automática dos seus arquivos PBIX

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

Postar um comentário

Postagens mais visitadas deste blog

[Power BI] Atualização MARÇO 2020 !!!!

Atualização Power BI Março de 2020!
Olá meus queridos, saiu agorinha a pouco a atualização do nosso Power BI Desktop de Março de 2020.

A atualização você pode fazer aqui:

https://www.microsoft.com/pt-BR/download/details.aspx?id=58494

Alguns itens você pode acompanhar aqui nesse rápido artigo pra sair brincando hoje mesmo com a sua atualização.

1) Botão de "pesquisar" nos filtros laterais
Muitas vezes você tem uma série de filtros em uma página ou relatório e é dificil encontrar aquele filtro específico, bem agora você com o botão de pesquisa pode procura-lo muito mais fácil utilizando o nome dele. Por enquanto ainda não é possível utiliza os "sinônimos" que você pode criar para cara coluna, tabela, ou medida na área de modelo, mas quem sabe em breve né?

2) Ordenar Tabela por mais de uma Coluna 
Esse é um dos grandes pedidos da comunidade, e veio através do ideas.powerbi.com , agora você pode, como no excel, ordenar uma tabela por mais de uma coluna bastando utiliza…

[Power Query] Código M para Dataset sobre Covid19 no Brasil e a Função Value.Metada

Muita gente tem feito alguns relatórios legais sobre covid19, como não sou tão fã de fazer relatórios bonitos pra ficar postando, prefiro trabalhar behind the scenes e trazer na verdade um Dataset do ministério da saúde sobre Covid19 nos estados.
PS. Foi feita uma alteração no Código por conta de alterações no nome do arquivo o abaixo é o mais atual então algumas coisas no artigo podem estar diferentes mas a ideia central é a mesma.
O grande detalhe dessa consultá é que utilizei uma função em PowerQuery conhecida por poucos a Value.Metadata.
Essa função permite trazer informações específicas sobre os nossos dados, ela só tem um argumento que é um valor qualquer. 
Se utilizamos como argumento uma tabela, por exemplo, na Value.Metadata ele vai me trazer informações sobre QueryFolding que você já viu aqui nesse VÍDEO.


Além disso vai me trazer informações de qual é a fonte de dados, bem como meu "Path" ou Caminho dessa fonte. No caso como era uma fonte SQL o Path seria servidor e ban…

Power BI Service - O Publicar na Web não está disponível para mim, e agora?

Olá seus pão duro que adoram publicar link público, tudo bem com vocês?

Hoje vamos dar uma mãozinha para você que por algum motivo arrancou todos os fios de cabelo da cabeça porque não viu mais a opção de Publicar na Web disponível no seu Power BI.

Antes também gostaria de te fazer dois convites:

O segundo, como sempre te convido a conhecer meu canal no YouTube, se inscrever e compartilhar os conteúdos que faço sempre com muito carinho para todos vocês (coisa melosa),

https://youtube.com/rafaelmendonca

Dados os recados vamos para nosso problema...

1) Seu dia amanheceu assim...
Numa bela manha você decide publicar seu relatório e compartilhar para toda a rede e se depara com essa situação:


Cara quem roubou meu botão de "Publicar na Web"?

Mas não se desespere isso pode ser uma configuração que o administrador do tenant (do seu site no serviço do PBI) ou até mesmo você desavisadamente alterou.

2) Verificando a Opção Desabilitada...
A partir daqui você precisa ter acesso de admi…