8 Replies Latest reply: Oct 13, 2016 7:37 PM by Jeferson Vargas RSS

    CARGA INCREMENTAL

    Jeferson Vargas

      Consegui montar quase tudo mas não sei como fazer o esquema das datas:

       

      tipo, consegui fazer a consulta no banco e ele traz as informações, gravei o qvd e dropei a tabela.

       

      Agora tenho o qvd com um campo datahora e tenho a consulta para atualizar esse qvd mas como fazer para a consulta verificar a maxdate dentro do qvd e usar como parametro na consulta para incrementar o qvd sem excluir nada e atualizar o periodo mais recente?

       

      segue meu script

       

      [HISTORICO_CCF]:

      SELECT * FROM HISTORICO H

      WHERE

      h.his_pro_cod ='CCF'

      and h.his_datahora >= 'O QUE DEVO COLOCAR AQUI ?? NO MEU QVD ATUALIZEI ATÉ 04/10/2016 ENTÃO O QUE COLOCAR AQUI PARA GERAR A CONSULTA OLHANDO ESSA DATA NO QVD ABAIXO E PEGAMNDO OS REGISTROS SUPERIORES A ESTA DATA'

       

       

      Concatenate

       

       

      LOAD HIS_COD,

           HIS_DEV_COD,

           HIS_COMPLEMENTO,

           HIS_DATAHORA,

           HIS_DURACAOLIGACAO,

           HIS_AGENDA,

           HIS_LIGACAOPAGA,

           HIS_NROTELEFONE,

           HIS_UNI_COD,

           HIS_THT_COD,

           HIS_USU_COD,

           HIS_MOC_COD,

           HIS_RETORNODISCADOR,

           HIS_VALIDO,

           HIS_REP_COD,

           TROCA,

           HIS_OCO_COD,

           HIS_PRO_COD,

           HIS_PEF_COD,

           HIS_TEL_COD

      FROM

      [C:\Users\jeferson.vargas\Desktop\HISTORICO_CCF.QVD]

      (qvd);

       

      STORE [HISTORICO_CCF] INTO C:\Users\jeferson.vargas\Desktop\HISTORICO_CCF.QVD (qvd);

      DROP TABLE [HISTORICO_CCF];

        • Re: CARGA INCREMENTAL
          rodrigo silvestre

          tmp:

          load

          max(HIS_DATAHORA) as HIS_DATAHORA

          FROM

          [C:\Users\jeferson.vargas\Desktop\HISTORICO_CCF.QVD]

          (qvd);

           

          let vData = peek( 'HIS_DATAHORA', 0, tmp);

           

          drop table tmp;

           

          SELECT * FROM HISTORICO H

          WHERE

          h.his_pro_cod ='CCF'

          and h.his_datahora >= '$(vData)' ;

           

          ....

            • Re: CARGA INCREMENTAL
              Jeferson Vargas

              Valew Rodrigo, acho que estamos caminhando na direção certa, mas gerou um erro acho que se colocar um text em algum lugar funciona...segue o erroErro.jpg

                • Re: CARGA INCREMENTAL
                  Jeferson Vargas

                  essa linha let vData = peek( 'HIS_DATAHORA', 0, tmp); será que precisa formatar para datahora? se sim como fazer irmão? Acho que deve ser isso...

                    • Re: CARGA INCREMENTAL
                      FRANCISCO ROGERIO ALMEIDA DOS SANTOS

                      Jeferson,

                       

                      Sugiro colocar tudo como numérico é mais fácil fazer a verificação pois o Qlik estará comparando números.

                       

                      Acredito que ainda esta faltando você incrementar essa data dentro de um Laço For para ficar incrementando as datas que você deve correr, por exemplo iniciar no primeiro dia do mês e o For rodar até o último dia do mês.

                       

                      Espero ter ajudado.

                        • Re: CARGA INCREMENTAL
                          Jeferson Vargas

                          brother ajudou muito mesmo me deu o norte...apenas formatei a variavel...

                           

                          ...apenas precisou formatar a data no campo

                           

                          let vData = date(peek('HIS_DATAHORA',0,tmp),'DD/MM/YYYY');

                           

                          Não descobrio ainda porque ele não achava as data quando estavam sem formato...e tambem não achava os campos quando estavam como datahora...mesmo no banco sendo data hora e mesmo formatando a variavel para datahora não funcionava...passei tudo para data e rolou!

                            • Re: CARGA INCREMENTAL
                              rodrigo silvestre

                              Os campos precisam estar no mesmo formato para funcionar.

                               

                              De uma olhada nesse post do Clever, que vai te esclarecer.

                              Campos data/hora, também conhecidos como "Monstros S/A"

                                • Re: CARGA INCREMENTAL
                                  Jeferson Vargas

                                  Nossa DEPOIS Uma semana OU Duas de m uita peleia e Muita Leitura, MUITOS vídeos, e principalmente com a Ajuda de VOCÊS here fazer fórum achei o Erro OU Melhor achei varios Erros e varios acertos e principalmente aprendi Mais do Que imaginava Aprender MUITO OBRIGADO MESMO A TODOS QUE TIVERAM PACIENCIA COM MINHAS dúvidas e generosamente ajudaram!

                                   

                                  Bom galera Primeiro:

                                  QUANDO vou buscar a dados (data max) Dentro do QVD, Preciso formatar parágrafo timestamp porque no QVD Assim Como não meu oráculo o formato de e DD / MM / AAAA HH24: MM: SS é Isso vai Ser Jogado Dentro da variavel vData, Esse foi O Primeiro Erro ...

                                   

                                  Segundo when declaro uma variavel NÃO Preciso Passar o formato Novamente pois ja passei não busco carga when não QVD é Isso estava Gerando o Erro de literal blablabla ... ufa

                                   

                                  Terceiro DEPOIS de Passar um parágrafo variavel a buscar consulta no Oracle como INFORMAÇÕES repeitando uma variavel, tambem Precisa formatar o tipo de dados, VOCÊS me ajudaram Certo Quanto Ao USAR o TO_DATE mas Uma unica letra estava ferrando com a minha vida Aqui e POR ISSO NÃO funcionava Direito trazendo Valores de Dados Erradas ... resumindo sem Oracle e diferente do Qlik ... DD / MM / AAAA HH24: MI: SS esse "eu" Passou batido por Mim e POR ISSO nÃO funcionava ...

                                   

                                  Entao FICA uma dica, não a Oracle DD / MM / AAAA HH24: MI: SS não Qlik DD / MM / AAAA HH: MM: SS

                                   

                                  Obrigado a todos vou Ficar fera Nesse Qlik com a Ajuda de VOCÊS!