Qlik Community

Qlik Brasil

Group community for Brazil users. discussion only in Portuguese.

Highlighted
guilherme_perei
New Contributor III

Comparar Registros

Boa tarde pessoal,

preciso fazer a comparação de um campo, por exemplo, tenho um cliente X que foi cadastrado no plano A, mas

esse mesmo cliente alterou o seu plano para B, dessa forma cliente X no Plano A está cancelado/bloqueado, mas no plano B ele está ativo.

Preciso fazer a comparação do código desse cliente nos dois planos pra ver se existe nos dois ou não.

Image 122.jpg

Alguém pode me ajudar?

1 Solution

Accepted Solutions
guilherme_perei
New Contributor III

Re: Comparar Registros

Pessoal,

Consegui resolver utilizando o comando previous() no Script.

[Cliente]:

LOAD [Cod. Cliente],

     num([Inclusao Cliente]) as [Inclusao Cliente],

     Plano,

     previous([Bloqueio Cliente]) as [Bloqueio Cliente Anterior],

     num([Bloqueio Cliente]) as [Data do Bloqueio]

FROM $(dir)\Cliente.qvd (qvd);

5 Replies
mauroponte
Contributor II

Re: Comparar Registros

Guilherme,

Voce pode por exemplo criar uma Lista, tabela ou grafico com a dimensão Cliente e uma expressão que conte quantos planos cada cliente tem.

Por exemplo : count(Distinct Plano).

para os clientes mais de 1 plano serão os que se encaixarão na condição que voce deseja.

Veja o exemplo do QVW que estou anexando.

Espero ter ajudado.

guilherme_perei
New Contributor III

Re: Comparar Registros

Olá mauro,

Sim, mas dessa forma eu estaria olhando somente a posição atual, sem contar o histórico, mesmo que eu selecione um período em que ele estava ativo somente no Plano A, o Qlik mostraria ele ativo nos dois. Mas preciso manter o histórico, no período que o cliente está somente no plano A, mostrar somente o plano A. No período que ele está no plano B, mostrar o plano B, e no período em que ele esteve em ambos, mostrar os dois.

mauroponte
Contributor II

Re: Comparar Registros

Guilherme,

Isso é questão de voce trabalhar bem as datas.

Estou anexando novamente o QVW com uma alteração.

Criei uma lista Mês. Essa lista é Baseada no campo data_Plano.

Selecione o mes de jun, e veja que para esse mes aparecem somente os clientes 1 e 2 com plano B.

Selecione agora o Mês de jul. Repare que agora so aparece o cliente 3 com plano x

em seguida selecione agos e veja que so cliente 4 com plano Y aparece.

Agora selecione jan. Veja que clientes que já apareceram aparecem novamente com outro planos, no caso clientes 1 e 2 que em outro mes posterior a janeiro estavam com plano B em jan aparecem uma unica vez com plano A.

Mas ainda em jan repare o cliente 5. ele aparece 2 vezes uma com plano A outra com B, ja que ele ativou planos diferentes no mesmo mês.

Por fim selecione Jan e Jun ao mesmo tempo e veja o que ocorre com os clientes 1 e 2.

Espero que isso ajude.

tiagocardoso
Contributor

Re: Comparar Registros

Boa tarde Guilherme, tudo bem?

Pelo que eu entendi, você gostaria de ver o status do cliente, como, por exemplo,

ativo ou inativo, independentemente de ele estar em 1 (um) ou mais planos, certo?

Fiz um exemplo em que na expressão (fica a seu critério mudar ela depois ou até inverter)....

A princípio aparecem apenas os clientes (Apenas os que têm plano ativo) e ao clicar sobre algum

ou alguns deles, abre um leque e mostra o histórico, no caso, os planos antigos e desativos.

Espero que lhe ajude ou dê uma base amigo,

Abraços,

Att,

Tiago Cardoso.

guilherme_perei
New Contributor III

Re: Comparar Registros

Pessoal,

Consegui resolver utilizando o comando previous() no Script.

[Cliente]:

LOAD [Cod. Cliente],

     num([Inclusao Cliente]) as [Inclusao Cliente],

     Plano,

     previous([Bloqueio Cliente]) as [Bloqueio Cliente Anterior],

     num([Bloqueio Cliente]) as [Data do Bloqueio]

FROM $(dir)\Cliente.qvd (qvd);