Ir para conteúdo
  • 1

Rank Dinâmico Decrescente


Roseane
Ir para solução Solucionado por arthurOribeiro ,

Pergunta

  • Alunos

Bom dia Pessoal, 

 

Preciso criar um rank do menor para o maior, retornando o primeiro valor e que seja dinâmico dependendo do filtro inserido pelo usuário. Estou usando a medida abaixo que ela lista todos os valores e não classifica no caso de colocar um mês específico, a medida lista a classificação  geral ( se no mês tenho de 1 a 10 a classificação aparece 170 a 180.  Alguém pode me auxiliar a resolver esta questão ? Obrigado. 

mdRankMin:= var vRankMin = IF(
HASONEVALUE(TABELA[COLUNA]),
RANKX(ALL(TABELA[COLUNA]),[MEDIDA],,ASC))

var vMin = IF(
vRankMin = 1,
[mdFEP])

return
vMinFEP

 

Dúvida aluno: @Gilson Filho

Teste.pbix

  • Like 2
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 1
  • Alunos
  • Solução

Bom dia,

O DAX está correto porém como está trazendo campos da fato e não da dimensão em determinados momentos quando o valor de classificação é BLANK ele "se perde", para resolver isso basta filtrar somente os clientes que possuem valor, dessa forma deve funcionar:

Rank Min = 
IF(
    HASONEVALUE(SalesReport[Customer]),
    RANKX(FILTER(ALL(SalesReport[Customer]), [Gross Sales]),[Gross Sales],,ASC)
)

 

Editado por arthurOribeiro
  • Like 2
Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

Boa tarde!

Pelo que olhei no arquivo PBIX, acredito que a necessidade seja trazer o menor e maior valor de acordo com o Rank.Eu utilizo muito essa medida que aprendi no SQLBI para colorir o máximo e mínimo valor. Adaptei ela para trazer os valores, e não o rank. Espero que possa ser útil.

Maior e Menor Valor = 
VAR Vals =
    CALCULATETABLE(
        ADDCOLUMNS (
            SUMMARIZE ( SalesReport, SalesReport[Customer] ),
            "@SalesAmt", [Gross Sales]
        ),
        ALLSELECTED ()
    )
VAR MinValue = MINX ( Vals, [@SalesAmt] )
VAR MaxValue = MAXX ( Vals, [@SalesAmt] )
VAR CurrentValue = [Gross Sales]
VAR Result =
    SWITCH (
        TRUE,
        CurrentValue = MinValue, [Gross Sales], -- 1 for MIN
        CurrentValue = MaxValue, [Gross Sales]  -- 2 for MAX
    )
RETURN
    Result
 
PBIDesktop_9ok8eNmmJR.png
Editado por Fernando Lozer
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...