RANKX, ALL, ALLSELECTED

RANKX, ALL, ALLSELECTED

Olá!

A dica de hoje é sobre o super Power BI.

É muito comum você precisar criar um Ranking de valores mostrados por alguma dimensão.

Ranking de valores

Baixe o arquivo de exemplo para começar:

No exemplo abaixo, temos uma tabela com cliente, cidade e valor:

tabela com cliente

Nosso objetivo é criar um ranking por cliente, não importando se este cliente atua em mais de uma cidade.

Se eu jogar em um visual de tabela o cliente, cidade e a venda (soma), já conseguimos visualizar a informação.

Por padrão, vamos criar uma medida para a soma do valor de venda:

VENDA = SUM(FVENDAS[VALOR])

A pergunta é: Qual foi o melhor cliente por vendas independente de sua cidade de atuação?  (Note que o cliente B tem atuação em duas cidades diferentes)

 

a cidade de atuação

Para criar o Ranking, crie uma medida e utilize a função RANKX:

RANK=RANKX(ALLSELECTED(FVENDAS[CLIENTE]);FVENDAS[VENDA])

Explicando:

O Primeiro argumento do RANKX é uma tabela. Como quero “rankear” por  cada cliente e apenas por ele, obedecendo filtros adicionados de fora (por exemplo, se alguém filtrasse uma região e só mostrasse os clientes dessa região) então nesse argumento adicionei o ALLSELECTED( FVENDAS[CLIENTE])

O próximo argumento é a expressão, ou seja, uma medida onde a função irá comparar quem é maior ou menor. Geralmente um valor, no nosso caso o valor de venda, então adicionei a medida criada anteriormente FVENDAS[VENDA]

Com isso ele já verifica o ranking do valor de venda entre os clientes. Arraste a medida de Rank e veja o resultado:

 

medida de Rank

medida de Rank

Está certo?  Não muito….😥

A função até tentou “rankear” por cliente, mas como também adicionei na minha tabela o campo cidade, ele obedeceu o contexto de filtro e “rankeou” por ela também. Note na foto anterior que ele está verificando CLIENTE + CIDADE como um item para a análise do Rank.

Como resolver isto?

Simples, utilize a CALCULATE para filtrar ou “desfiltrar” o contexto utilizado na medida.

Altere a medida do Rank:

RANK=CALCULATE(RANK=RANKX(ALLSELECTED(FVENDAS[CLIENTE]);FVENDAS[VENDA]);ALL(FVENDAS[CIDADE])

Explicando:

A medida do Ranking permaneceu igual. O que fiz foi adicionar fora dela uma CALCULATE que pega a medida do Ranking e diz, NÃO AVALIE O CONTEXTO DE FILTRO DA CIDADE, usando a função ALL (que tira o contexto de filtro e “congela”).

Veja:

contexto de filtro

 

 

 

 

 

 

 

 

 

 

Agora, clique na coluna do Rank, classifique-a e seja feliz!

😃

P.S  Veja que mesmo existindo duas cidades para o cliente B, ele ignorou e não mudou a ordem do Ranking, avaliando apenas o total do cliente.

ordem do Ranking

Tem muito mais em nosso canal do YouTube, você pode se inscrever clicando aqui.

E se você já quer ter muito mais conteúdo sobre produtividade, inscreva-se para o AULÃO PRODUTIVIDE 10X, totalmente online e gratuito.

Sid Moraes

Apaixonado por Excel, Power BI e Analytics! MCSE Data Analytics, MCSA B.I, MCSA B.I Reporting, MOSE Excel. Professor corporativo na Doutores do Excel, editor do blog Doutores do Excel e do blog CertificaExcel

Deixe um comentário

Fechar Menu
toto slot togel 4D Bandar togel online Terpercaya Situs togel 4D SGP Toto Macau Togel Bandar togel Terpercaya Bandar Togel toto slot Situs toto togel 4D Situs Togel Terpercaya situs toto togel 4d toto slot togel terpercaya Bandar Togel Terpercaya casino togel online Situs Togel SGP 4D bandar togel terpercaya situs togel BO toto Macau Judi Slot Pulsa Gacor Situs Judi Slot Pulsa Gacor