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: 
Not applicable

Expressão if com mais de 100 If's

Pessoal, preciso de ajuda. Tenho a seguinte situação, tenho os ifs abaixo para setar o nome do funcionario ao setor dele, porém como coloquei mais de 100 ifs o qlik sense me retorna o seguinte erro:

The following error occurred:

Error in expression: Too complex, more than 100 levels nesting

O meu if começa assim:

//Coluna relacionando cada area com seu devido usuario

    if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Ana Brito','Compras',

    if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Marta Carvalho','Compras',

    if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nelson Mathias','Compras',

    if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Luiz Trindade','Compras',

....

tenho mais de 100 desses agora....

Por favor alguem me ajuda a se for o caso mudar a forma de relacionar estes usuários a sua área?

Atenciosamente,

Rafael Lima.

Labels (3)
1 Solution

Accepted Solutions
Not applicable
Author

Pessoal, muito obrigado a todos pelas dicas, lendo e relendo as dicas de vocês acabei conseguindo entender a lógica do If com Wildmatch e usei da seguinte forma:

//T.I

    if(WildMatch(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c, 'Marcio X',

    'Marcos X','Heberson X','Rafael Lima'),

    'T.I',

Com isso diminui de mais de 100 IF's para apenas 18 IF's.

Assim fui fazendo para as demais áreas da empresa. Funcionou perfeitamente!!!

Muito obrigado pelo empenho de todos!!!

Atenciosamente,


Rafael Lima.

View solution in original post

21 Replies
arthur_dom
Creator III
Creator III

Você pode tratar isso no Script com um Left join ou Applymap.

Not applicable
Author

Boa tarde Arthur,

Obrigado por sua resposta. Porém você poderia dar um exemplo de como ficaria com os "if" acima, lembrando que eu tenho somente no banco de dados a informação do nome do usuario/funcionario por isso eu uso o "if" para dizer qual é a area dele.

Atenciosamente,

Rafael Lima.

arthur_dom
Creator III
Creator III

No script(editor de cargas)

//seria algo assim

DePara:

Load * Inline [ Usuario, Departamento   

                      Ana Brito,Compras

                      Marta Carvalho,Compras

]; //Coloque todas as posibilidades

<Conexão com o banco de dados>//Substitua pela sua conexão com  o banco de dados

BMCServiceDesk__Incident__c:

Load

applymap( 'DePara',BMCServiceDesk__Client_Name__c, 'Dept. Desc' ) as Area,

BMCServiceDesk__Client_Name__c,

<Outros Campos> // Coloque aqui os outros campos

;

SQL SELECT * FROM BMCServiceDesk__Incident__c;

Not applicable
Author

Dúvida rápida sobre o código citado:

Load * Inline [ Usuario, Departamento  

                      Ana Brito,Compras

                      Marta Carvalho,Compras

]; //Coloque todas as posibilidades


o QV aceita tratar o campo assim?


Load * Inline [ Usuario, Departamento  

                      Ana Brito,Compras as ComprasDePecas

                      Marta Carvalho,Compras as CompraDeMaterial

]; //Coloque todas as posibilidades

arthur_dom
Creator III
Creator III

Não... eu estou colocando valores numa tabela de mapping. Se tiver mais complexidade pode trocar para um Join ou algo do tipo.  o que você deseja fazer MayconLimaCwb

Not applicable
Author

Arthur boa tarde,

Não ficou muito claro pra mim, desculpe. Eu não sou programador nato, estou aprendendo ainda. Poderia colocar um exemplo mais didatico com o oque eu enviei com mais departamentos e pessoas?

Atenciosamente,

Rafael Lima.

arthur_dom
Creator III
Creator III

Rafael, vc esta usando o QlikView ou o Qlik Sense, ai monto um passo a passo

Not applicable
Author

Rafael,

Tentar descrever melhor. No Qlikview.

Esta realizando este código, pois voce não tem uma tabela onde identifique o Usuario a cada area, então utiliza o código abaixo como uma tabela.

DePara:

Load * Inline [ Usuario, Departamento  

                      Ana Brito,Compras //Ana Brito Pertence a Compras

                      Marta Carvalho,Compras

]; //Coloque todas as posibilidades

Not applicable
Author

Ola Arthur,

Estou usando o Qlik Sense...

Atenciosamente,

Rafael Lima.