Skip to main content
Announcements
Join us at Qlik Connect for 3 magical days of learning, networking,and inspiration! REGISTER TODAY and save!
cancel
Showing results for 
Search instead for 
Did you mean: 
Marcio_Campestrini
Specialist
Specialist

Uso de SetAnalysis com estados alternativos

Bom dia

Estou com uma dificuldade na atividade seguinte:

Preciso identificar, no conjunto de informações, quais os parceiros que atendem aos dois critérios. A tela está dividida em dois estados alternativos: Atual e Anterior.

Estou tentando criar um indicador de parceiros comuns, que é uma intersecção entre os dois estados, mas não está funcionando.

Agradeço a ajuda.

Márcio

Márcio Rodrigo Campestrini
Labels (2)
1 Solution

Accepted Solutions
guilherme_olive
Partner - Creator
Partner - Creator

Bom dia Marcio,

Não sei se entendi bem, mas vamos lá.

Criei uma tabela simples:

Dimensão: PedidoDigitadoCódigoParceiro

Expressão (Valor Atual): if(Sum({Atual}PedidoDigitadoQuantidade) > 0 and Sum({Anterior}PedidoDigitadoQuantidade) >0,Sum({Atual}PedidoDigitadoQuantidade))

Expressão (Valor Anterior): if(Sum({Atual}PedidoDigitadoQuantidade) > 0 and Sum({Anterior}PedidoDigitadoQuantidade) >0,Sum({Anterior}PedidoDigitadoQuantidade))

Assim tenho os Parceiros e o valor para cada parceiro para cada estado alternativo.

Com base nesses valores é possível medir a evolução de cada um dos parceiros conforme as seleções nos estados alternativos.

Caso você queira colocar em um objeto de texto apenas a quantidade de Parceiros que são comuns para as seleções dos estados alternativos, acho que essa expressão ajuda.

=sum(aggr(if(aggr(Sum({Atual}PedidoDigitadoQuantidade),PedidoDigitadoCódigoParceiro) > 0 and aggr(Sum({Anterior}PedidoDigitadoQuantidade),PedidoDigitadoCódigoParceiro)  >0,1),PedidoDigitadoCódigoParceiro))

Edit:

Faz a mesma coisa que a expressão acima mas neste caso estou utilizando Set Analysis e um Count ao invés do SUM.

Count(DISTINCT {$<PedidoDigitadoCódigoParceiro ={"=if(aggr(Sum({Atual}PedidoDigitadoQuantidade),PedidoDigitadoCódigoParceiro) > 0 and aggr(Sum({Anterior}PedidoDigitadoQuantidade),PedidoDigitadoCódigoParceiro)  >0,1) "}>} PedidoDigitadoCódigoParceiro)

Mas estas são apenas umas ideias.

Eu não entendi bem qual é o indicador que você precisa.

View solution in original post

6 Replies
viniciusroteli
Contributor III
Contributor III

Márcio,

O que exatamente você precisa retornar no caso dos estados Atual e Anterior ????

O parceiro que esteja no Estado Atual e Anterior ??

ou

O parceiro que esteja no Estado Atual e Anterior na mesma revista por exemplo...

E qual seria o estado atual e anterior  ??? ex: 2015-out e 2014-out

Marcio_Campestrini
Specialist
Specialist
Author

Boa tarde Vinicius

Preciso retornar o(s) parceiro(s) que esteja(m) nas duas seleções (estado anterior e estado atual).

O estado atual e o estado anterior são o conjunto de seleções de cada "lado" do aplicativo, conforme o grupo em que está.

Márcio

Márcio Rodrigo Campestrini
viniciusroteli
Contributor III
Contributor III

Márcio,

Acho que entendi...  Criei a seguinte Expressão:

if(Count({Atual} DISTINCT PedidoDigitadoCódigoParceiro)>=1,

if(Count({Anterior} DISTINCT PedidoDigitadoCódigoParceiro)>=1,

count(DISTINCT PedidoDigitadoCódigoParceiro),null()),null())

Na própria tabela sua Entrada de Pedidos, que resultou em 1083 parceiros.

só deixei o parceiro na dimensão pra teste, verifique se é isto que precisa.

Marcio_Campestrini
Specialist
Specialist
Author

Vinicius,

Obrigado pelo retorno.

Apliquei a sua fórmula nos gráficos e no indicador que preciso e ainda não atingiu o resultado esperado.

Márcio

Márcio Rodrigo Campestrini
guilherme_olive
Partner - Creator
Partner - Creator

Bom dia Marcio,

Não sei se entendi bem, mas vamos lá.

Criei uma tabela simples:

Dimensão: PedidoDigitadoCódigoParceiro

Expressão (Valor Atual): if(Sum({Atual}PedidoDigitadoQuantidade) > 0 and Sum({Anterior}PedidoDigitadoQuantidade) >0,Sum({Atual}PedidoDigitadoQuantidade))

Expressão (Valor Anterior): if(Sum({Atual}PedidoDigitadoQuantidade) > 0 and Sum({Anterior}PedidoDigitadoQuantidade) >0,Sum({Anterior}PedidoDigitadoQuantidade))

Assim tenho os Parceiros e o valor para cada parceiro para cada estado alternativo.

Com base nesses valores é possível medir a evolução de cada um dos parceiros conforme as seleções nos estados alternativos.

Caso você queira colocar em um objeto de texto apenas a quantidade de Parceiros que são comuns para as seleções dos estados alternativos, acho que essa expressão ajuda.

=sum(aggr(if(aggr(Sum({Atual}PedidoDigitadoQuantidade),PedidoDigitadoCódigoParceiro) > 0 and aggr(Sum({Anterior}PedidoDigitadoQuantidade),PedidoDigitadoCódigoParceiro)  >0,1),PedidoDigitadoCódigoParceiro))

Edit:

Faz a mesma coisa que a expressão acima mas neste caso estou utilizando Set Analysis e um Count ao invés do SUM.

Count(DISTINCT {$<PedidoDigitadoCódigoParceiro ={"=if(aggr(Sum({Atual}PedidoDigitadoQuantidade),PedidoDigitadoCódigoParceiro) > 0 and aggr(Sum({Anterior}PedidoDigitadoQuantidade),PedidoDigitadoCódigoParceiro)  >0,1) "}>} PedidoDigitadoCódigoParceiro)

Mas estas são apenas umas ideias.

Eu não entendi bem qual é o indicador que você precisa.

Marcio_Campestrini
Specialist
Specialist
Author

Bom dia Guilherme

Fiz o teste com as duas fórmulas (Sum e Count) e ambas atingiram o resultado que eu esperava.

Obrigado pela ajuda.

Acho que eu estava tão focado em fazer via intersecção de SetAnalysis que não considerei o uso de AGGR.

Márcio

Márcio Rodrigo Campestrini