Skip to main content
Announcements
Qlik Introduces a New Era of Visualization! READ ALL ABOUT IT
cancel
Showing results for 
Search instead for 
Did you mean: 
dalvan_martinel
Contributor II
Contributor II

Expressão Tabela Dinamica Para Calcular Linhas Conforme Critérios

Olá!

Estou precisando de uma ajuda para criar uma expressão de gráfico (Tabela dinamita) para calcular somente as linhas das dimensões que atendem aos critérios.

Tenho uma base de dados onde as vendas por cliente são mensais, e preciso que o resultado calcule a diferença das vendas de um ano para outro somente para os clientes que tiveram vendas no mesmo período, por exemplo se selecionar os meses de janeiro e fevereiro, ele devera listar somente os clientes que tiveram vendas nos dois meses em cada um dos anos, se algum cliente tiver somente venda em fevereiro de 2017 e janeiro e fevereiro de 2018 não devera ser listado pois não tem a venda nos dois no ano de 2017.

Anexo arquivo com exemplo. o arquivo tem uma planilha "Dados" com modelo das informações e outra planilha com o nome "Modelo Analise" demonstrando como deveria ficar os resultados.

Labels (1)
1 Solution

Accepted Solutions
felipedl
Partner - Specialist III
Partner - Specialist III

OI Dalvan,

Para esse caso, onde é dinâmico, fiz esse post aqui já faz um tempo:Dynamic intersection of sets (Set Analysis)

Ele irá respeitar a sua seleção e criar o set analysis adequado para criar as intersecções.

Felipe.

View solution in original post

5 Replies
felipedl
Partner - Specialist III
Partner - Specialist III

Olá Dalvan,

Utilizando os seus dados e intersecção de conjunto no set analysis, é possível chegar na solução da seguinte maneira:

A expressão:

=

sum

(

     {

          <

               I.Info.Geral = P({<#MesAno,#NumMesAno={"$(=Num(AddMonths(Max(#NumMesAno),-12)))"}>}I.Info.Geral)

          >

          *

          <

               I.Info.Geral = P({<#MesAno,#NumMesAno={"$(=Num(Max(#NumMesAno)))"}>}I.Info.Geral)

          >

     }

     Vendas

)

Irá retornar para o mês selecionado apenas os valores nos quais existem clientes em ambos os meses (atual e de um ano atrás), de modo que tem-se como resultado o seguinte:

sample.png

A expressão "Intersecção" irá demonstrar valores apenas quando as outras duas ("Valor Ano atual" e "Valor Atual") apresentarem valores. Essas duas estão apenas para fim de demonstração do resultado, a expressão que colei acima é a utilizada no cálculo da coluna "Intersecção".

Em anexo o QVW que utilizei.

dalvan_martinel
Contributor II
Contributor II
Author

Simplesmente Perfeito!!!! era exatamente o que estava procurando, muito obrigado felipedl

felipedl
Partner - Specialist III
Partner - Specialist III

Por nada, bom que te ajudou .

dalvan_martinel
Contributor II
Contributor II
Author

Você vai me desculpar mas analisando Melhor identifiquei uma situação que não estava contemplada na solução, tentei resolver por Conta propria mas não consegui chegar em uma solução. Essa situação não estava contemplada na base de de de Dados que enviei anteriormente, agora fiz uma modificação na base de de de Dados para citar essa Situação.

Seguinte, pode haver alguns casos onde o cliente tera vendas em abril, maio e junho de 2017 e somente em maio e junho de 2018. quando selecionar os tres meses ele não devera considerar esse Cliente na anlise, devera considerar somente quando selecionar o mesmo numero de meses que tem venda nos dois anos, nesse caso esse cliente devera ser considerado na anlise somente quando estiver selecionados os  meses de maio e junho.

modifiquei o arquivo de Base de Dados as Vendas do Cliente E, Selecionando os 3 meses nao Deveria considerar suas informações na analise, mas da forma que esta a Expressão esta considerando.

teria como a expressão considerar o mesmo numero de meses em selecioandos nos dois anos. Hoje por o que entendi considera se o Maior periodo selecionado existe no ano anterior.

Segue Anexo OS Arquivos Que Estamos utilizando, se Puder Ajudar agradeço. !

felipedl
Partner - Specialist III
Partner - Specialist III

OI Dalvan,

Para esse caso, onde é dinâmico, fiz esse post aqui já faz um tempo:Dynamic intersection of sets (Set Analysis)

Ele irá respeitar a sua seleção e criar o set analysis adequado para criar as intersecções.

Felipe.