Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Want to see what's currently in public preview? We've pulled it all together in one place. Check it out here
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

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.


1 Solution

Accepted Solutions
Clever_Anjos
Support
Support

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

View solution in original post

10 Replies
Anil_Babu_Samineni
MVP
MVP

Pode ser compartilhado o aplicativo de exemplo?

Best Anil, When applicable please mark the correct/appropriate replies as "solution" (you can mark up to 3 "solutions". Please LIKE threads if the provided solution is helpful
Anonymous
Not applicable
Author

Olá Anil,

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

Anil_Babu_Samineni
MVP
MVP

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

Best Anil, When applicable please mark the correct/appropriate replies as "solution" (you can mark up to 3 "solutions". Please LIKE threads if the provided solution is helpful
Anonymous
Not applicable
Author

Desculpe Anil, não entendi ....

Anil_Babu_Samineni
MVP
MVP

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)


Best Anil, When applicable please mark the correct/appropriate replies as "solution" (you can mark up to 3 "solutions". Please LIKE threads if the provided solution is helpful
Clever_Anjos
Support
Support

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)

Anonymous
Not applicable
Author

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é ?!

Anonymous
Not applicable
Author

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 ?

Clever_Anjos
Support
Support

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