Você está na página 1de 2

​ ma das coisas que mais me fascina na linguagem DAX são os diferentes caminhos que você

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:

Total Vendas Cenário Produtos Não Selecionados =

VAR NaoSelecionados = [Total Vendas - ALL Produto] - [Total Vendas]

RETURN

NaoSelecionados * (1 + [Cenário Demanda])

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?

O que fiz então foi criar a seguinte medida:

Total Vendas Cenário Produtos Não Selecionados - EXCEPT =

VAR ProdutosNaoSelecionados = EXCEPT( ALL(Produto); VALUES(Produto) )

RETURN

CALCULATE(

SUMX(

'Vendas Internet';

'Vendas Internet'[Quantidade] * (1 + [Cenário Demanda]) *

RELATED(Produto[Valor Unitário 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.

Fica mais essa dica então para vocês.

Grande abraço!

Você também pode gostar