3 Replies Latest reply: Jan 13, 2016 6:47 AM by Marcelo Cristiano RSS

    Único QVD

    Marcelo Cristiano

      Pessoal estou com uma dúvida!

       

      No momento trabalho gerando QVD's todos os dias e não apenas de uma tabela e armazenando os mesmos, queria saber como faço para gerar apenas um QVD com todos os outros integrados a ele ou seja, todos os dias de todas as tabelas dentro de apenas um para que quando for feita a leitura ele ler apenas um e não um dia de cada vez?

       

      Obrigado!

        • Re: olá!
          Marcus Augusto

          Boa tarde,

           

          Pelo que entendi vc faz um espelhamento do sistema transacional e armazena em diversos qvd's se for isso vc está fazer a camada de persistência.


          Agora vc cria um QVW que pode carregar os QVDS que vc quer e ir armazenando em uma unica estrutura lógica e depois dar um store nesta estrutura.

           

          Mas, isso é como fazer o que perguntou.

           

          Por que quer fazer isso? qual objetivo? as vezes é mais interessante ter varios qvd's mesmo, como em um DW

           

          Abç

          • Re: olá!
            Alessandro Furtado

            Marcelo, boa tarde.

             

            Como o mvaugusto tambem fiquei em duvidas sobre o que queres exatamente....

             

            Mas poderia dizer,

            O QVD é por tabela. Assim, se eu quiser ler salvar um QVD com varias tabelas, as mesmas tem que ser concatenadas  em uma mesma tabela dentro do QlikView.

             

            Exempo:

             

            Tabela_Full:

            LOAD * From A;

            concatenate

            LOAD * From B;

            concatenate

            LOAD * From C;

             

            De qualquer forma, conforme o mvaugusto comentou, é interessante pensar em ter varios QVDs, sendo cada um para cada tabela do seu banco.....Se precisar,pode-se ter carga binaria tambem (ler o QVW).

             

            Se a sua necessidade for ler diariamente e gerar um arquivo QVD consolidado, podes usar por exemplo:

             

            Tabela_Full:

            LOAD Codigo,Nome From Tabela DiariaA;

            // Verifica se tem QVD com dados anteriores.....

            LET vTem_QVD=  if(FileSize('Tabela_Full.qvd') > 0, 1, 0);

            IF $(vTem_QVDvTem_QVD) = 1 THEN

                  // Se existe um QVD entao le os dados anteriores

                  concatenate

                  LOAD Codigo,Nome From Tabela_Full.qvd (qvd) Where  not Exists(Codigo);

            endif

            store Tabela_Full into Tabela_Full.qvd (qvd);

             

            • Re: olá!
              Pablo Labbe

              Oi Marcelo,

               

                 Para melhor organização do forum sugiro você renomear o titulo de sua postagem.

               

              Abraço,

               

              Pablo Labbe