Skip to main content
Announcements
Have questions about Qlik Connect? Join us live on April 10th, at 11 AM ET: SIGN UP NOW
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_

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_

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_

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