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: 
davidfagundes
Contributor III
Contributor III

Duvida ?

Boa Tarde a Todos

estou com problema para criar uma regra.

tenho essas transações 'V21', 'V07', 'U21*', 'U07','*A21', 'A07' cada uma com um valor de 1 ou -1 dependendo do caso

entre  todas essas situações tenho uma regra especifica:

todas as transações  do cliente FELICIO JOSE DOS SANTOS  com o vendedor MARCIO JOAO .DIRN com as transações

'U21*', 'U07','*A21', 'A07'  deve ser igual a 0.

Criei :

Pick(WildMatch(TIPO_TRANSACAO, '*V21*', '*V07*', '*U21*', '*U07*','*A21*', '*A07*'),1,-1,1,-1,1,-1) AS QUANTIDADE2

e depois :

if(WildMatch(NOMEVENDEDOR,'MARCIO JOAO .DIRN') and  WildMatch(NOMECLIENTE,'*FELICIO JOSE DOS SANTOS*')and
WildMatch(TIPO_TRANSACAO_FMC,'U21',0)or  WildMatch(TIPO_TRANSACAO_FMC,'U07',0)or  WildMatch(TIPO_TRANSACAO_FMC,'A21',0)or
WildMatch(TIPO_TRANSACAO_FMC,'A07',0),0,//se não
QUANTIDADE2) as  QUANTIDADE2,

deu certo em partes pois

tudo que é  U07 ele zerou  independente do  NOMEVENDEDOR e NOMECLIENTE

U07.png

Alguem consegue me ajudar com esse IF ?


Grato desde ja

1 Solution

Accepted Solutions
davidfagundes
Contributor III
Contributor III
Author

Consegui Resolver :

if(NOMEVENDEDOR='MARCIO JOAO .DIRN'and ID_CLIENTE='110887'or ID_CLIENTE='110891' or ID_CLIENTE='190934','0',

Pick(WildMatch(TIPO_TRANSACAO_FMC, '*V21*', '*V07*', '*U21*', '*U07*','*A21*', '*A07*'),1,-1,1,-1,1,-1)) AS QUANTIDADE2,
    

por algum motivou  quando  o IF entrava   WildMatch(NOMECLIENTE,'*FELICIO JOSE DOS SANTOS*')​ ele se perdia

então consegui roda pelo código do cliente

View solution in original post

6 Replies
Thiago_Justen_
MVP
MVP

Teste assim:

if(WildMatch(NOMEVENDEDOR,'MARCIO JOAO .DIRN') and  WildMatch(NOMECLIENTE,'*FELICIO JOSE DOS SANTOS*') and (

WildMatch(TIPO_TRANSACAO_FMC,'U21',0) or  WildMatch(TIPO_TRANSACAO_FMC,'U07',0)or  WildMatch(TIPO_TRANSACAO_FMC,'A21',0) or

WildMatch(TIPO_TRANSACAO_FMC,'A07',0)  ),0,//se não

QUANTIDADE2) as  QUANTIDADE2,


Apenas encapsulei o bloco onde você traz o operador OR. Se não funcionar, talvez seja melhor fazer isso:


if(WildMatch(NOMEVENDEDOR,'MARCIO JOAO .DIRN') and  WildMatch(NOMECLIENTE,'*FELICIO JOSE DOS SANTOS*') and

WildMatch(TIPO_TRANSACAO_FMC,'U21',0) or

WildMatch(NOMEVENDEDOR,'MARCIO JOAO .DIRN') and  WildMatch(NOMECLIENTE,'*FELICIO JOSE DOS SANTOS*') and WildMatch(TIPO_TRANSACAO_FMC,'U07',0) or 

WildMatch(NOMEVENDEDOR,'MARCIO JOAO .DIRN') and  WildMatch(NOMECLIENTE,'*FELICIO JOSE DOS SANTOS*') and WildMatch(TIPO_TRANSACAO_FMC,'A21',0) or

WildMatch(NOMEVENDEDOR,'MARCIO JOAO .DIRN') and  WildMatch(NOMECLIENTE,'*FELICIO JOSE DOS SANTOS*') and WildMatch(TIPO_TRANSACAO_FMC,'A07',0),0,//se não

QUANTIDADE2) as  QUANTIDADE2,

Thiago Justen Teixeira Gonçalves
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago
Thiago_Justen_
MVP
MVP

David,

A questão foi resolvida? Me parece que você fechou e reabriu a questão...

Ficou alguma coisa errada?

Thiago Justen Teixeira Gonçalves
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago
davidfagundes
Contributor III
Contributor III
Author

if(WildMatch(NOMEVENDEDOR,'MARCIO JOAO .DIRN') and  WildMatch(NOMECLIENTE,'*FELICIO JOSE DOS SANTOS*') and (

WildMatch(TIPO_TRANSACAO_FMC,'U21',0) or  WildMatch(TIPO_TRANSACAO_FMC,'U07',0)or  WildMatch(TIPO_TRANSACAO_FMC,'A21',0) or

WildMatch(TIPO_TRANSACAO_FMC,'A07',0)  ),0,//se não

QUANTIDADE2) as  QUANTIDADE2,


if(WildMatch(NOMEVENDEDOR,'MARCIO JOAO .DIRN') and  WildMatch(NOMECLIENTE,'*FELICIO JOSE DOS SANTOS*') and

WildMatch(TIPO_TRANSACAO_FMC,'U21',0) or

WildMatch(NOMEVENDEDOR,'MARCIO JOAO .DIRN') and  WildMatch(NOMECLIENTE,'*FELICIO JOSE DOS SANTOS*') and WildMatch(TIPO_TRANSACAO_FMC,'U07',0) or

WildMatch(NOMEVENDEDOR,'MARCIO JOAO .DIRN') and  WildMatch(NOMECLIENTE,'*FELICIO JOSE DOS SANTOS*') and WildMatch(TIPO_TRANSACAO_FMC,'A21',0) or

WildMatch(NOMEVENDEDOR,'MARCIO JOAO .DIRN') and  WildMatch(NOMECLIENTE,'*FELICIO JOSE DOS SANTOS*') and WildMatch(TIPO_TRANSACAO_FMC,'A07',0),0,//se não

QUANTIDADE2) as  QUANTIDADE2,



Em ambos os casos respeitou todas as situações menos TIPO_TRANSACAO_FMC U07caso1.PNG




Thiago_Justen_
MVP
MVP

David,

Tente dessa forma:

if((WildMatch(TIPO_TRANSACAO_FMC,'U21') or  WildMatch(TIPO_TRANSACAO_FMC,'U07')or  WildMatch(TIPO_TRANSACAO_FMC,'A21') or

WildMatch(TIPO_TRANSACAO_FMC,'A07'))

WildMatch(NOMEVENDEDOR,'MARCIO JOAO .DIRN') and  WildMatch(NOMECLIENTE,'*FELICIO JOSE DOS SANTOS*'),0,//se não

QUANTIDADE2) as  QUANTIDADE2

Thiago Justen Teixeira Gonçalves
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago
davidfagundes
Contributor III
Contributor III
Author

Usando dessa forma :

if((WildMatch(TIPO_TRANSACAO_FMC,'U21') or  WildMatch(TIPO_TRANSACAO_FMC,'U07')or  WildMatch(TIPO_TRANSACAO_FMC,'A21') or

WildMatch(TIPO_TRANSACAO_FMC,'A07')) and

WildMatch(NOMEVENDEDOR,'MARCIO JOAO .DIRN') and  WildMatch(NOMECLIENTE,'*FELICIO JOSE DOS SANTOS*'),0,//se não

QUANTIDADE2) as  QUANTIDADE2


Ainda sim o U07 ficou como -1 no caso  NOMEVENDEDOR,'MARCIO JOAO .DIRN para NOMECLIENTE,'*FELICIO JOSE DOS SANTOS


caso2.PNG

davidfagundes
Contributor III
Contributor III
Author

Consegui Resolver :

if(NOMEVENDEDOR='MARCIO JOAO .DIRN'and ID_CLIENTE='110887'or ID_CLIENTE='110891' or ID_CLIENTE='190934','0',

Pick(WildMatch(TIPO_TRANSACAO_FMC, '*V21*', '*V07*', '*U21*', '*U07*','*A21*', '*A07*'),1,-1,1,-1,1,-1)) AS QUANTIDADE2,
    

por algum motivou  quando  o IF entrava   WildMatch(NOMECLIENTE,'*FELICIO JOSE DOS SANTOS*')​ ele se perdia

então consegui roda pelo código do cliente