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!