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

[Dúvida] Diferença entre ALL e ALLSELECTED

poxa eu tive um trabalhão pra conseguir desenvolver minha dúvida com exemplos e citando trechos da documentação, aí coloquei um emoji no final, ela não foi enviada por causa disso e o texto todo foi apagado :(

Minha dúvida é referente a utilização do ALL e ALLSELECTED. Dei uma lida na documentação e não ficou claro quando utilizar cada uma e por que no exemplo do vídeo a alteração da medida "Rank Lucro" para utilizar ALL no lugar de ALLSELECTED resultou naquela filtragem da tabela.

2 respostas

Uma descrição usando o ChatGPT coloca:

"ALL(): Remove todos os filtros de uma coluna, independentemente de onde esses filtros estão sendo aplicados no relatório. Mostra todos os valores possíveis da coluna, sem considerar o contexto atual da visualização.

ALLSELECTED(): Remove todos os filtros de uma coluna, exceto os que são aplicados diretamente na visualização atual. Mantém os filtros que vêm de tabelas relacionadas ou das colunas na tabela atual na visualização."

[...]

"Resumindo, ALL() é mais "agressivo" na remoção de filtros, enquanto ALLSELECTED() é mais "seletivo" ao manter alguns dos filtros aplicados. "

Como que trocando a função para algo mais "agressivo" na remoção de filtros, a quantidade de produtos exibidos na tabela diminui?

solução!

Acredito que a situação esteja mais clara agora.

Introduzi um visual de cartão e adicionei nele a medida 'Rank Lucro'. Ao selecionar cada produto individualmente para filtrar a página, observei que, ao construir 'Rank Lucro' com 'ALLSELECTED', todos os produtos foram agrupados exclusivamente na primeira faixa 'Top 5'. Isso ocorreu porque, ao utilizar 'ALLSELECTED', todos os produtos no visual de matriz acabam sendo classificados como 1 na variável 'Rank Lucro'. Por que isso acontece?

O ponto crucial é que, quando a medida avalia um produto na matriz, a linha desse produto restringe o contexto do visual apenas a esse produto. Isso resulta em todos os produtos sendo considerados como TOP 1 em seu contexto, levando-os sempre à faixa 'Top 5'.

Quando optei por usar 'ALL' em 'Rank Lucro', todos os filtros e contextos aplicados em 'Tb_Produtos' foram removidos quando a medida foi avaliada. Isso significa que o ranking daquele produto, quando avaliado, é efetivamente o ranking global calculado considerando todos os produtos, independentemente do contexto visual. Dessa forma, os produtos foram distribuídos corretamente nas respectivas faixas.

Uma observação relevante é que o comportamento da medida varia dependendo da organização dos campos de 'Linhas'. Neste caso específico, o campo 'TopN' está acima na hierarquia das linhas, não afetando o contexto da tabela 'Tb_Produtos'. Portanto, quando 'Rank Lucro' é calculado usando 'ALLSELECTED', mesmo que todos os produtos na hierarquia abaixo sejam classificados como TOP 1, o total de cada faixa ainda é calculado corretamente, pois o contexto visual nessa hierarquia considera a tabela 'Tb_Produtos' completa, onde o rank de cada produto é calculado corretamente. À medida que a hierarquia desce, o contexto também se ajusta, filtrando a tabela 'Tb_Produtos' para cada linha.

Quebrei a cabeça por um tempo mas consegui enteder haha