Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Dúvida do funcionamento do allselected

Gostaria de entender mais porque o allselected não funcionou na formula que calcula o rank, tendo que usar o all no lugar. Rank Lucro =
RANKX(
ALL(Tb_Produtos),
[Total Lucro]
)

3 respostas

Oi Rayssa, tudo bem?

Para entender melhor o contexto do problema, você poderia compartilhar o link da aula que está tentando reproduzir?

Fico no aguardo!

Módulo de segmentação

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

solução!

Oi, Rayssa!

Agradeço por compartilhar a qual aula se refere. Essa é uma excelente pergunta, porque envolve um ponto muito importante de contexto de filtro no DAX.

Quando utilizamos:

Rank Lucro =
RANKX(
    ALLSELECTED(Tb_Produtos),
    [Total Lucro]
)

O ALLSELECTED() remove parte dos filtros, mas mantém os filtros vindos do contexto externo, como segmentações e até o próprio contexto da matriz onde o TopN está sendo exibido.

Nessa aula, a medida TopN lucro usa o Rank Lucro para filtrar os produtos entre um limite mínimo e máximo. Ou seja, o ranking precisa ser global, considerando todos os produtos do modelo antes da segmentação por TopN.

Se usamos ALLSELECTED(), o ranking passa a respeitar o contexto atual do visual. Isso faz com que o ranking deixe de ser absoluto e passe a variar conforme o grupo exibido, o que gera resultados incorretos ou repetidos.

Já quando utilizamos:

Rank Lucro =
RANKX(
    ALL(Tb_Produtos),
    [Total Lucro]
)

O ALL() remove todos os filtros da tabela Tb_Produtos, garantindo que o ranking seja calculado considerando todos os produtos, independentemente do contexto da matriz ou da tabela TopN.

Assim:

  • O ranking é calculado de forma global.
  • Depois disso, a medida TopN aplica o filtro de intervalo (Min e Max).
  • O resultado passa a funcionar corretamente.

Como dica, sempre que você precisar de um ranking absoluto, pense em usar ALL(). Já o ALLSELECTED() é mais indicado quando você quer que o cálculo respeite filtros externos da página.

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
ALL
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!