Escolar Documentos
Profissional Documentos
Cultura Documentos
U
pode traçar para chegar aos mesmos resultados.
Na última aula criamos uma medida para obter o "Total de Vendas dos Produtos Selecionados"
e outra para obter o "Total de Vendas dos Produtos Não Selecionados", ambas considerando os
cenários que criamos. Para esta segunda medida, fizemos durante a aula o seguinte cálculo:
RETURN
A variável NaoSelecionados retorna para nós o Total de Vendas dos Produtos Não Selecionados
SEM a aplicação dos cenários. O que fizemos então, na sequência, foi aplicar a "correção" da
mudança no valor devido à variação na demanda.
Após finalizar a aula estava testando algumas variações e encontrei uma forma muito
interessante de obtermos o mesmo valor utilizando a função EXCEPT. A função EXCEPT recebe
duas tabelas como parâmetros e retorna todas as linhas que estão no primeiro argumento mas
que não estão no segundo argumento. Aprendemos a trabalhar com esse tipo de operação nas
aulas de matemática sobre teoria de conjuntos, está lembrado?
RETURN
CALCULATE(
SUMX(
'Vendas Internet';
);
ProdutosNaoSelecionados
)
A variável ProdutosNaoSelecionados é uma tabela que retorna todos os produtos que não
estão selecionados no contexto de filtro atual. Ou seja, do conjunto de todos os produtos,
representado por ALL(Produto), elimina-se o conjunto de produtos selecionados no filtro atual,
representando por VALUES(Produto).
Se olharmos a imagem abaixo, a tabela resultante são todos os produtos que estão no conjunto
azul mas não estão no conjunto roxo.
Após isso, calculamos o Total de Vendas aplicando a "correção" na variação na demanda para
esse conjunto de produtos, representado pela variável ProdutosNaoSelecionados.
Ficou claro a ideia? O uso das funções EXCEPT e INTERSECT é muito interessante quando
queremos eliminar ou então selecionar um conjunto de dados de outro conjunto de dados.
Grande abraço!