Qlik Community

Qlik Brasil

Group community for Brazil users. discussion only in Portuguese.

Highlighted
vitor_vilela
New Contributor III

Perfil do cliente

Caros, bom dia.

Vejam por gentileza, se podem me ajudar.

Ao fazer uma condicional para definir o perfil (p,m,g,gg) de um cliente não estou chegando ao resultado esperado. Para fazer esse "if" tenho algumas condicionais, como volume dos últimos 3 meses, a segmentação do cliente e Uf. Ps.:Estou fazendo na dimensão pois no futuro vou precisar filtrar.

Bem, como pode ser visto na imagem abaixo, ao filtrar um cliente com característica "cust_group={06}" ele entra no primeiro if e retorna resultado "P1"  sendo que o correto seria retornar o resultado do segundo if "P".

06.PNG

Abaixo segue meu código,

=Aggr(


if(

    sum({<VTYPE={010}, cust_group={'10'}, MKS_REGION_Descr={'Minas Gerais'}, month= {$(VLastMonth),$(VSecondtoLastMonth),$(VActualMonth)}>}_volume)>-100 and

sum({<VTYPE={010}, cust_group={'10'}, MKS_REGION_Descr={'Minas Gerais'}, month= {$(VLastMonth),$(VSecondtoLastMonth),$(VActualMonth)}>}_volume)<51, 'P1',

if(

    sum({<VTYPE={010}, cust_group={'06'}, MKS_REGION_Descr={'Minas Gerais'}, month= {$(VLastMonth),$(VSecondtoLastMonth),$(VActualMonth)}>}_volume)>-100 and

sum({<VTYPE={010}, cust_group={'06'}, MKS_REGION_Descr={'Minas Gerais'}, month= {$(VLastMonth),$(VSecondtoLastMonth),$(VActualMonth)}>}_volume)<1500, 'P',

))

    ,ship_to_descr )


Obrigado.


Tags (1)
1 Solution

Accepted Solutions
Employee
Employee

Re: Perfil do cliente

Você pode revisar sua lógica colocando essa cláusula fora do Set Analysis e dentro do if

Lembre que um Sum(<Set Analysis>Expressao) retorna um valor

10 Replies

Re: Perfil do cliente

Pode ser compartilhado o aplicativo de exemplo?

vitor_vilela
New Contributor III

Re: Perfil do cliente

Olá Anil,

Infelizmente o arquivo está com mais de 100mb além de ter mtas informações que não posso compartilhar. 

Re: Perfil do cliente

Você pode colocar primeiro para o último e último primeiro e verificar?

vitor_vilela
New Contributor III

Re: Perfil do cliente

Desculpe Anil, não entendi ....

Re: Perfil do cliente

Eu disse isso?

= Aggr (


if

    sum ({VTYPE = {010}, cust_group = {'06'} , MKS_REGION_Descr = {'Minas Gerais'}}, month = {$ (VLastMonth), $ (VSecondtoLastMonth), $ (VActualMonth) -100 and

sum ({VTYPE = {010}, cust_group = {'06'}, MKS_REGION_Descr = {'Minas Gerais'}}, month = {$ (VLastMonth), $ (VSecondtoLastMonth), $ (VActualMonth) 1500, 'P',


if

    sum ({VTYPE = {010}, cust_group = {'10'}, MKS_REGION_Descr = {'Minas Gerais'}}, month = {$ (VLastMonth), $ (VSecondtoLastMonth), $ (VActualMonth) -100 and

sum ({VTYPE = {010}, cust_group = {'10'}, MKS_REGION_Descr = {'Minas Gerais'}}, month = {$ (VLastMonth), $ (VSecondtoLastMonth), $ (VActualMonth) 51, 'P1',

))

    , ship_to_descr)


Employee
Employee

Re: Perfil do cliente

Ele entra no 1o if porque a expressão abaixo retorna 0 que fica entre -100 e 51

sum({<VTYPE={010}, cust_group={'10'}, MKS_REGION_Descr={'Minas Gerais'}, month= {$(VLastMonth),$(VSecondtoLastMonth),$(VActualMonth)}>}_volume)

vitor_vilela
New Contributor III

Re: Perfil do cliente

Obrigado pela resposta Anil,

Resolveu em parte, pq os clientes que tem configuração cust_group = {'10'} ficaram como "P" sendo que deveriam ser "P1". Estranho né ?!

vitor_vilela
New Contributor III

Re: Perfil do cliente

Obrigado pela resposta Clever, pensei que ele avaliava se o cust group =06 e caso não fosse ele passava para o próximo if,

Existe alguma forma do if levar em consideração o cust_group ?

Employee
Employee

Re: Perfil do cliente

Você pode revisar sua lógica colocando essa cláusula fora do Set Analysis e dentro do if

Lembre que um Sum(<Set Analysis>Expressao) retorna um valor