1
resposta

[Dúvida] Gráfico de faixas: como limitar exibição aos TOP N do ranking

Na construção de um gráfico de faixas no Power BI, me deparei com uma lista extensa de indústrias que contemplam minha análise. Para facilitar a visualização e melhorar a performance do BI, gostaria de selecionar um número específico de indústrias a serem apresentadas, a partir da sua colocação em um ranking. Contudo, ao tentar limitar o número de indústrias que apareciam no gráfico, as tentativas foram inefetivas. Visualizando como tabela, percebi que meu rankeamento não estava sendo efetivo para aquele contexto, mas não consegui, de forma alguma, resolver essa questão.

Segue a lista de medidas que estão sendo usadas:

RANKX =
RANKX(
ALL(LABS[Laboratorio]),
'MEDIDAS'[ValorMetrica],
,
DESC,
Dense
)
ValorMetrica =
VAR PARAMETRO = SELECTEDVALUE('Parâmetro'[Parâmetro Campos])
RETURN
CALCULATE(
SWITCH(
PARAMETRO,
"'MEDIDAS'[SUM_PPP]", [SUM_PPP],
"'MEDIDAS'[SUM_REAL]", [SUM_REAL],
"'MEDIDAS'[SUM_UNI]", [SUM_UNI],
BLANK()
)
)

SUM_PPP = SUM('FAT MÊS'[FAT Mês Real PPP])
SUM_REAL = SUM('FAT MÊS'[FAT Mês Real])
SUM_UNI = SUM('FAT MÊS'[FAT Mês Unidade])

1 resposta

Olá, Davi, tudo bem?

O comportamento que você descreveu geralmente está relacionado ao contexto de filtro sendo ignorado no ranking.

O RANKX percorre uma lista (no seu caso, os laboratórios) e precisa calcular a medida [ValorMetrica] para cada item dessa lista. Quando usamos ALL(LABS[Laboratorio]), você remove todos os filtros desse campo, fazendo com que o cálculo perca o contexto do visual. Isso pode levar a situações em que todos os valores ficam iguais, gerando empates no ranking.

Uma forma comum de resolver isso é utilizar ALLSELECTED, que mantém os filtros aplicados no relatório (como segmentações), mas ainda permite ranquear corretamente os itens visíveis.

Segue uma sugestão de ajuste:

Ranking_Ajustado = 
IF(
    ISINSCOPE(LABS[Laboratorio]), 
    RANKX(
        ALLSELECTED(LABS[Laboratorio]), 
        [ValorMetrica],
        ,
        DESC,
        Dense
    )
)

Dependendo do seu cenário, pode ser interessante testar também o uso de ALL, caso queira que o ranking ignore completamente os filtros externos (como datas).

Sugiro testar a medida em uma tabela simples para validar o comportamento antes de aplicar no gráfico.

Observação: reforço que o código é uma sugestão de abordagem. Dependendo do seu modelo de dados e dos filtros aplicados no relatório, pode ser necessário ajustar a fórmula para o seu cenário específico.

Espero ter ajudado.

Qualquer dúvida que surgir, compartilhe no fórum. Abraços e bons estudos!

Para saber mais:

Sugestão de conteúdo:

DOCUMENTAÇÃO
ALLSELECTED
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!