7 Replies Latest reply: Sep 6, 2017 9:16 AM by Clever Anjos RSS

    Como fazer um procv no Qlik Sense

    Fabricio Peixoto Terra

      Prezados,

       

      Estou a procura de uma solução onde eu possa validar uma linha da tabela (colunas concatenadas) a partir de uma outra tabela contendo as regras desta validação.

      Pelo excel, eu consigo fazer usando o procv, já pelo Qlik não encontrei uma maneira.

       

      Exemplo:

      Se a informação de uma coluna na tabela de dados constar na tabela de regras, ela deverá retornar a informação Sim, caso contrário, Não.

       

      Espero ter deixado claro minha dúvida.

       

      Desde já agradeço

       

      Att

       

      Fabricio

        • Re: Como fazer um procv no Qlik Sense
          Marco Antonio Raymundo

          Tente usar uma tabela mapeada.

          PROCV:

          MAPPING LOAD

               Chave,

               Retorno

          FROM AlgumLugar;

           

          Na outra tabela faz assim:

          OUTRATABELA:

          LOAD

               ApplyMap('PROCV', Chave, 'ERRO')               as MeuRetorno

          FROM AlgumLugar\Tabela2;

            • Re: Como fazer um procv no Qlik Sense
              Fabricio Peixoto Terra

              Marco, fiz algumas tentativas e não consegui chegar no resultado esperado, abaixo segue minha última tentativa:

               

              PROCV:

              Mapping LOAD

                  Regras,

                  "Variáveis de referência"

              FROM [lib://Regras/Variaveis_ref_producao.xlsx]

              (ooxml, embedded labels, table is Variaveis_ref_producao);

               

               

              LIB CONNECT TO 'Oracle_172.18.4.28';

               

               

              LOAD PROJETO,

              NOME,

              ALINHAMENTO,

              UO,

              UNIDADE,

              COD_PROGRAMA,

              PROGRAMA,

              COD_ATIVIDADE,

              ATIVIDADE,

              COD_MODALIDADE,

              MODALIDADE,

              COD_REALIZACAO,

              [REALIZAÇÃO],

              COD_SUBREALIZACAO,

              SUBREALIZACAO,

              [COD_UNIDADEPRODUÇÃO],

              [UNIDADEPRODUÇÃO],

              [COD_SUBUNIDADEPRODUÇÃO],

              [SUBUNIDADEPRODUÇÃO],

              CATEGORIA,

              MES,

              MES_ANO,

              VALOR as TOTAL,

                  ApplyMap('PROCV', Regras, '_NÃO POSSUI_') as Soma_Variaveis_referencia;

               

               

              [BI_PRODUCAOPREV]:

              SELECT "PROJETO",

              "NOME",

              "ALINHAMENTO",

              "UO",

              "UNIDADE",

              "COD_PROGRAMA",

              "PROGRAMA",

              "COD_ATIVIDADE",

              "ATIVIDADE",

              "COD_MODALIDADE",

              "MODALIDADE",

              "COD_REALIZACAO",

              "REALIZAÇÃO",

              "COD_SUBREALIZACAO",

              "SUBREALIZACAO",

              "COD_UNIDADEPRODUÇÃO",

              "UNIDADEPRODUÇÃO",

              "COD_SUBUNIDADEPRODUÇÃO",

              "SUBUNIDADEPRODUÇÃO",

              "CATEGORIA",

              "MES",

              "MES_ANO",

              "VALOR"

              FROM "GX_PRODUCAOSESC"."BI_PRODUCAOPREV";

               

               

              LOAD MES,

              MES_ANO,

              PROJETO,

              NOME,

              ALINHAMENTO,

              UO,

              UNIDADE,

              COD_PROGRAMA,

              PROGRAMA,

              COD_ATIVIDADE,

              ATIVIDADE,

              COD_MODALIDADE,

              MODALIDADE,

              COD_REALIZACAO,

              [REALIZAÇÃO],

              COD_SUBREALIZACAO,

              SUBREALIZACAO,

              [COD_UNIDADEPRODUÇÃO],

              [UNIDADEPRODUÇÃO],

              [COD_SUBUNIDADEPRODUÇÃO],

              [SUBUNIDADEPRODUÇÃO],

              CATEGORIA,

              TOTAL,

                  ApplyMap('PROCV', Regras, '_NÃO POSSUI_') as Soma_Variaveis_referencia;

               

               

              [BI_PRODUCAOREAL]:

              SELECT "MES",

              "MES_ANO",

              "PROJETO",

              "NOME",

              "ALINHAMENTO",

              "UO",

              "UNIDADE",

              "COD_PROGRAMA",

              "PROGRAMA",

              "COD_ATIVIDADE",

              "ATIVIDADE",

              "COD_MODALIDADE",

              "MODALIDADE",

              "COD_REALIZACAO",

              "REALIZAÇÃO",

              "COD_SUBREALIZACAO",

              "SUBREALIZACAO",

              "COD_UNIDADEPRODUÇÃO",

              "UNIDADEPRODUÇÃO",

              "COD_SUBUNIDADEPRODUÇÃO",

              "SUBUNIDADEPRODUÇÃO",

              "CATEGORIA",

              "TOTAL"

              FROM "GX_PRODUCAOSESC"."BI_PRODUCAOREAL";

               

               

              Porém deu o seguinte erro:

              Ocorreram os seguintes erros:

              Field 'Regras' not found

              O erro ocorreu aqui:

              ?

              Os dados não foram carregados. Solucione o erro e tente carregar novamente.

            • Re: Como fazer um procv no Qlik Sense
              Isaias Darci

              Você pode tentar usar a função Exists.

               

              Exists - função de script ‒ Qlik Sense

               

              Ou a função lookup.

               

              LookUp - função de script ‒ Qlik Sense

               

              No seu caso acho que a função Exists com where seria o ideal.