4 Replies Latest reply: Jan 6, 2018 12:16 PM by Thiago Justen Teixeira RSS

    Usar If no código sql do editor de dados

    Elaine Mendonça

      Boa tarde!

       

      Pessoal sou nova em qlik e em sql, gostaria de saber se existe a possibilidade de utilizar a condicional if no código do editor de dados.

      Exemplo: Em minha planilha de dados que carrego para o qlik, possuo um campo chamado Inconsistências, onde os nomes são muito grandes queria reduzí-los para melhor visualização nos gráficos, conforme código abaixo. Eu consigo?????

       

      Estou tentando executar e não funciona... Estou tentando através do if, existe alguma outra possibilidade melhor, consigo adicionar um novo campo à esta tabela com os nomes definidos. Aguardo ajuda, obrigada!

       

       

      [inconsistencia]:

      LOAD

      [INCONSISTENCIA],

       

      If([INCONSISTENCIA]='Análise de consistência calculo de Pró-rata(Data de Ativação)',[INCONSISTENCIA]='Pró-Rata Ativação'),

      If([INCONSISTENCIA]='Análise de consistência calculo de Pró-rata(Data de Desativação)',[INCONSISTENCIA]='Pró-Rata Desativação'),

      If([INCONSISTENCIA]='Crédito por Acordo Recebido',[INCONSISTENCIA]='Crédito por Acordo'),

      If([INCONSISTENCIA]='Crédito por Interrupção Recebido',[INCONSISTENCIA]='Crédito por Interrupção'),

      If([INCONSISTENCIA]='Faturado ausente na Base Física', [INCONSISTENCIA]='Faturado Ausente'),

        • Re: Usar If no código sql do editor de dados
          Alessandro Furtado

          Elaine,

           

          o if esta errado....

           

          Exemplo:

          If(Campo=1,'Um',if(Campo=2,'Dois','Nenhum'))

           

          No seu caso tem duas maneiras que considero:

           

          if ou aplymap

           

          QlikView x64 - [C__tmp_if.qvw_]---2017-12-26 21_14_21.png

           

          As duas formas criam os campos  Campo_1 e Campo_2 com o mesmo resultado para ver as diferentes formas possíveis......daria ainda através de join,left join

           

          Segue script......

           

           

           

          Tab:

          mapping LOAD * INLINE [

          Campo1,Campo2

          Análise de consistência calculo de Pró-rata(Data de Ativação),Pró-Rata Ativação

          Análise de consistência calculo de Pró-rata(Data de Desativação),Pró-Rata Desativação

          Crédito por Acordo Recebido,Crédito por Acordo

          Crédito por Interrupção Recebido,Crédito por Interrupção

          Faturado ausente na Base Física,Faturado Ausente

          ];



          [inconsistencia]:

          LOAD


              INCONSISTENCIA                                                                  as CampoOriginal,

             

          If([INCONSISTENCIA]='Análise de consistência calculo de Pró-rata(Data de Ativação)','Pró-Rata Ativação',

          If([INCONSISTENCIA]='Análise de consistência calculo de Pró-rata(Data de Desativação)','Pró-Rata Desativação',

          If([INCONSISTENCIA]='Crédito por Acordo Recebido','Crédito por Acordo',

          If([INCONSISTENCIA]='Crédito por Interrupção Recebido','Crédito por Interrupção',

          If([INCONSISTENCIA]='Faturado ausente na Base Física','Faturado Ausente')))))   as Campo_1, 

           

          ApplyMap('Tab',[INCONSISTENCIA])                                                as Campo_2;

              

          LOAD * INLINE [

          INCONSISTENCIA

          Análise de consistência calculo de Pró-rata(Data de Ativação)

          Análise de consistência calculo de Pró-rata(Data de Desativação)

          Crédito por Acordo Recebido

          Crédito por Interrupção Recebido

          Faturado ausente na Base Física

          ];

          • Re: Usar If no código sql do editor de dados
            Elaine Mendonça

            Obrigada Alessandro!