21 Replies Latest reply: Mar 17, 2016 9:22 AM by Luciano Vasconcelos RSS

    Expressão if com mais de 100 If's

    Rafael Lima

      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.

        • Re: Expressão if com mais de 100 If's
          Arthur Molino

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

          • Re: Expressão if com mais de 100 If's
            Arthur Molino

            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;

              • Re: Expressão if com mais de 100 If's
                Maycon Lima

                 

                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

                • Re: Expressão if com mais de 100 If's
                  Rafael Lima

                  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.

                    • Re: Expressão if com mais de 100 If's
                      Maycon Lima

                      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

                        • Re: Expressão if com mais de 100 If's
                          Arthur Molino

                          Maycon,

                           

                          o comando Inline cria uma tabela. a ideia é semelhante a um excel ou csv.

                           

                          Load * /*carrega tabela criada no script*/ inline  [ Campo1, Campo2, Campo3

                                              Valor1, Valor2, Valor3 (...)

                           

                          ];

                           

                          Campos são separados por virgulas(Colunas), linhas são novos registros. Então é como se fosse livre você coloca quase tudo o que quiser de caracteres (existem alguns reservados entretanto).

                    • Re: Expressão if com mais de 100 If's
                      Arthur Molino

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

                        • Re: Expressão if com mais de 100 If's
                          Rafael Lima

                          Ola Arthur,

                           

                          Estou usando o Qlik Sense...

                           

                          Atenciosamente,

                           

                          Rafael Lima.

                            • Re: Expressão if com mais de 100 If's
                              Arthur Molino

                              Olá Rafael.

                               

                              Se esta no Sense (desktop Principalmente), pode ser bem mais fácil.

                               

                              Faça Assim, crie um excel com o nome dos funcionarios e setores:

                              criar excel.PNG

                              Salve o excel na sua pasta de preferencia (no meu caso salvei na area de trabalho)

                              SalvarExcel.PNG

                              No qlik sense, abra o gerenciador de dados (no app)

                              Gerenciador De Dados.PNG

                               

                              Dentro dele escolha arquivo excel, e selecione o arquivo criado, Clique em preparar dados

                              Preparar dados.PNG

                              O Qlik Sense tem uma funcionalidade chama SmartLoad, se perceber que dois campos em tabelas diferentes tem o mesmo CONTEUDO, ele sugere uma associação (na parte de baixo da imagem)

                              aSSOCIAÇÕES.PNG

                              Clique em associação, verifique a recomendação do Smart load, escolha um dos campos para ser o nome que o QlikSense irá chamar a relação, e clique em concluído no fim.

                              SMARTLOAD.PNG

                              Recarregue o aplicativo, e utilize o campo Setor como dimensão.

                          • Re: Expressão if com mais de 100 If's
                            Jackson Alfonso

                            Acho boa a solução do Arthur Molino, mas se ainda sim quiser fazer o comando via script da para reduzir bem as linhas usando ainda assim o IF, mas em conjunto com a função WildMacth, como segue o exemplo abaixo, da uma olhada.

                             

                            Teste:

                            Load If(WildMatch(nome, 'jackson','fabio'),'Setor-A',If(WildMatch(nome, 'elaine'),'Setor-C','Setor-D')) as Setor, *;

                            LOAD * INLINE [

                                id, nome, tipo, valor

                                1, jackson, a, 23

                                2, fabio, a, 24

                                3, eduardo, c, 31

                                4, elaine,d, 78

                                5, jurema, e,56

                            ];

                            • Re: Expressão if com mais de 100 If's
                              Rafael Lima

                              Pessoal eu agradeço muito a ajuda de vocês, porém ainda estou com dúvida, vou postar aqui o codigo inteiro pra melhor entender a forma que vocês estão dispondo as informações e a forma que eu tenho as informações, segue abaixo:

                               

                              [BMCServiceDesk__Incident__c]:

                              LIB CONNECT TO 'Salesforce_SOAP';

                              [BMCServiceDesk__Incident__c]:

                              LOAD 

                               

                              //Coluna relacionando cada area com seu devido usuario

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','Compras',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','Compras',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','Compras',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','Compras',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','Compras',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','Compras',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','Controladoria',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','Controladoria',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','Controladoria',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','Controladoria',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','Controladoria',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','Controladoria',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','Controladoria',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','Controladoria',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','Controladoria',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','Faturamento',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','Faturamento',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','Faturamento',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','Faturamento',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','Faturamento',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','Financeiro',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','Financeiro',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','Fiscal',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','Fiscal',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','Fiscal',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','PCP',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','PCP',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','PCP',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','PCP',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','PCP',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','PCP',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','PCP',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','PCP',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','PCP',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','PCP',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','PCP',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','PCP',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','PCP',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','PCP',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','PCP',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','PCP',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','PCP',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','PCP',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','PCP',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','RH',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','RH',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','RH',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','RH',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','T.I',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','T.I',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','T.I',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','T.I',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','Estoque',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','Estoque',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','Estoque',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','Diretoria',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','Outras',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','Portaria',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','Outras',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','Engenharia',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','Faturamento',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','Engenharia',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','Engenharia',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','Engenharia',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','Engenharia',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','Qualidade',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','Estoque',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','Engenharia',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','Qualidade',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','Qualidade',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','Estoque',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','Estoque',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','Qualidade',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','PCP',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','Engenharia',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','Engenharia',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','Engenharia',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','Portaria',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','Manutenção',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','PCP',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','Qualidade',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','Portaria',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','Engenharia',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','Engenharia',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','Engenharia',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','Qualidade',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','Engenharia',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','Engenharia',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','Engenharia',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','Engenharia',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','Engenharia',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','Engenharia',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','Engenharia',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','PCP',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','PCP',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','Engenharia',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','P&D',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','Engenharia',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','Engenharia',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','Manutenção',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','Vendas',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','RH',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','Engenharia',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','Estoque',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','Engenharia',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','Portaria',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','Segurança do Trabalho',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','Qualidade',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','PCP',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','Engenharia',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','Estoque',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','PCP',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','Engenharia',

                                  if(BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c = 'Nome Funcionario','Engenharia'

                              ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) as AREA,

                              SELECT


                                  BMCServiceDesk__Client_Name__c


                              FROM


                                  BMCServiceDesk__Incident__c


                              WHERE

                               

                                  (BMCServiceDesk__Queue__c = 'Brazil')

                               

                              AND 

                               

                                  (BMCServiceDesk__openDateTime__c >= 2015-01-01T00:00:00Z);

                               

                               

                              Oque acontece ai é que o qlik se conecta com o banco de dados da nossa aplicação web de chamados e le essa tabela ai, então le tambem o campo que já contem o nome do funcionario, mas não tem a area. A area dele eu seto manualmente atraves dos IF's. Como ficaria essa mesma situação com o codigo que vocês estão escrevendo ai? Ainda não consegui compreender, me desculpem. Eu sou "obrigado" a pegar o nome do funcionario direto do banco de dados.

                               

                              * Troquei o nome do funcionario nos IF's por "Nome Funcionario" para poder manter a confidencialidade da empresa.

                               

                              Atenciosamente,

                               

                              Rafael Lima.

                                • Re: Expressão if com mais de 100 If's
                                  Luciano Vasconcelos

                                  Bom dia.

                                  Na leitura do salesforce coloca só o campo do nome e na parte Qlik usa um If(Match('Lista de Funcionarios'), 'Compras',

                                   

                                  Encadeia esses Ifs.

                                   

                                  Dessa forma terá um If por setor.

                                  • Re: Expressão if com mais de 100 If's
                                    Jackson Alfonso

                                    Do jeito que eu passei, ficaria como esta abaixo.

                                    Para isso criei um apelido no select para  o seu campo "BMCServiceDesk__Client_Name__c " para ficar mais amigável/Fácil de entender e usei ele no pré load dentro da função WildMatch.


                                    Load

                                             If(WildMatch(NomeCliente, 'Nome Funcionario 1'.'Compras', 'Nome Funcionario 2'.'Compras'),'Setor de Compras',

                                                  If(WildMatch(NomeCliente, 'Nome Funcionario 1'.'Controladoria'),'Setor de Controladoria',

                                                        'Outros - Setores')) as [Setor Cliente],

                                              *;

                                    SELECT


                                        BMCServiceDesk__Client_Name__c as NomeCliente


                                    FROM


                                        BMCServiceDesk__Incident__c


                                    WHERE

                                     

                                        (BMCServiceDesk__Queue__c = 'Brazil')

                                     

                                    AND

                                     

                                        (BMCServiceDesk__openDateTime__c >= 2015-01-01T00:00:00Z);

                                  • Re: Expressão if com mais de 100 If's
                                    Arthur Molino

                                    tente algo assim

                                     

                                     

                                     

                                    LIB CONNECT TO 'Salesforce_SOAP';

                                     

                                     

                                    BMCServiceDesk__Incident__c:

                                    LOAD

                                    BMCServiceDesk__Incident__c.BMCServiceDesk__Client_Name__c ;

                                      SELECT

                                         BMCServiceDesk__Client_Name__c

                                     

                                     

                                      FROM

                                         BMCServiceDesk__Incident__c

                                      WHERE

                                         (BMCServiceDesk__Queue__c = 'Brazil')

                                      AND

                                        (BMCServiceDesk__openDateTime__c >= 2015-01-01T00:00:00Z);

                                     

                                     

                                    Left Join(BMCServiceDesk__Incident__c)

                                    load Usuario as BMCServiceDesk__Incident__c, Setor inline * [Usuario, Setor

                                      Funcionario1, Compras

                                      Funcionario2, Financeiro

                                    ];

                                      • Re: Expressão if com mais de 100 If's
                                        Rafael Lima

                                        Arthur boa tarde,

                                         

                                        Veja o retorno:

                                         

                                        Started loading data

                                        BMCServiceDesk__Incident__c << BMCServiceDesk__Incident__c

                                        Lines fetched: 2.656

                                        The following error occurred:

                                        Field not found - <Usuario>

                                        The error occurred here:

                                        Left Join(BMCServiceDesk__Incident__c) load Usuario as BMCServiceDesk__Incident__c, Setor inline * [Usuario, Setor Funcionario1, Compras Funcionario2, Financeiro ]

                                        Data has not been loaded. Please correct the error and try loading again.

                                         

                                        Atenciosamente,

                                         

                                        Rafael Lima.

                                      • Re: Expressão if com mais de 100 If's
                                        Rafael Lima

                                        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.