Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Dúvida contextos calculate

Boa noite, Equipe Alura!

Gostaria de tirar uma dúvida acerca dos contextos da função calculate.

Na medida Fantasia Vendas ALL, entendi que, devido à utilização do ALL, ocorre uma sobreposição dos filtros e prevalece uma abordagem total da tabela/coluna.

Isso pode ser observado na primeira tabela, em que é exibido o faturamento do gênero Fantasia, mesmo em categorias em que não devem ser exibido. Por outro lado, imaginei que o mesmo deveria ocorrer na tabela ao lado, em que há a editora, em vez da categoria, visto o resultado à esquerda.

Por que motivo, quando não se traz a coluna filtrada (Fantasia, nesse caso) na tabela, como na tabela da direita, ocorre a filtragem dos dados adequadamente?

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

1 resposta
solução!

Olá, João, tudo bem?

Interessante a sua dúvida! A função CALCULATE modifica o contexto de cálculo das medidas. Quando você utiliza a função ALL dentro do CALCULATE, você está removendo todos os filtros que possam estar sendo aplicados a uma determinada coluna ou tabela. No entanto, o que acontece na prática é que o contexto externo (isto é, o contexto da visualização onde a medida está sendo utilizada) ainda pode influenciar o resultado final.

No caso da sua primeira tabela, ao exibir a coluna "Categoria", você está criando um contexto de filtro para cada linha dessa coluna. Quando você utiliza a medida Fantasia Vendas ALL, que ignora os filtros da coluna "Categoria" devido ao ALL, você acaba vendo o valor total para a categoria "Fantasia" em todas as linhas, pois o contexto de linha da tabela está sendo sobreposto pelo CALCULATE.

Já na tabela ao lado, onde a coluna "Categoria" não está presente, o contexto de linha é definido pela coluna "Editora". A medida Fantasia Vendas ALL continua ignorando os filtros da coluna "Categoria", mas agora não há um contexto de filtro de "Categoria" para ser sobreposto. Em vez disso, o contexto de filtro é definido pela "Editora". Assim, o que você vê é o total de vendas da categoria "Fantasia" para cada editora, respeitando o contexto de filtro da coluna "Editora".

O ponto chave aqui é que o contexto de filtro da visualização afeta o resultado da medida CALCULATE. Quando a coluna "Categoria" está presente na visualização, ela cria um contexto de filtro que é sobreposto pela função ALL dentro do CALCULATE. Quando a coluna "Categoria" não está presente, o contexto de filtro é definido por outros elementos na visualização, como a coluna "Editora", e o CALCULATE respeita esse novo contexto.

Espero que essa explicação tenha esclarecido a diferença de comportamento que você observou nas tabelas.

Caso surja alguma dúvida, não hesite em compartilhar no fórum.

Abraços e até mais!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!