38 Replies Latest reply: Dec 12, 2016 8:59 AM by Edlazaro Moreira RSS

    Analise consolidada

    Edlazaro Moreira

      Senhores, Boa tarde!

       

      Estou com a seguinte situação, tenho 4 banco de dados, uma matriz e três filiais, implementei na interface quatro botões onde escolho qual quero realizar a analise e faço a carga dos dados. Agora preciso realizar uma analise comparativa onde mostre as vendas, e outras informações de todas de uma forma consolidada, o que vocês recomendam para poder implementar essa recurso.

       

      Imagem1.PNG

      Desde já agradeço a quem possa me orientar.

       

      Abraço.

        • Re: Analise consolidada
          Klaus Gibin

          Edlazaro ,

           

           

          Não entendi muito bem a parte dos botões. Quando você seleciona 1 é feito o reload do app?

           

           

          Neste caso o mais correto seria você realizar a carga de todos os bancos de dados, concatenando as informações dos 4 e criando uma fato unica. A empresa (Filial ou Matriz) ficaria como um filtro na aplicação..

           

          Caso possa, disponibilize um QVW com seu modelo de dados ou mesmo um Print screen dele..

          • Re: Analise consolidada
            Maicon Mello

            Bom dia,

            Precisa analisar, pelo que entendi , as bases são iguais.

            Carrega sempre tudo, e jogue campos de dimensão como empresa entre outros campos que consegue separar os valores por empresa.

             

            Isso facilita para geração de carga, pelo fato que sempre será uma carga só. Pode fazer um for validando e conectando em cada banco, ou pode criar 4 modelos , gerando os QVD e depois juntando os mesmos.

             

            Mais recomendado seria criar um for no script, onde conecta cada banco de dados e gera a carga.

             

            Espero ter ajudado.

             

            Maicon Mello

              • Re: Analise consolidada
                Edlazaro Moreira

                Klaus,

                 

                Só novato na utilização da ferramenta Qlikview e estou usando a versão personal edition. Quanto aos botões foi uma forma que encontrei para poder carregar os dados de cada empresa, ao clicar no botão matriz ele se conectar ao banco matriz e faz a carga mas só mostrar dados da matriz, e assim com os demais. Só depois que percebi que vou precisar saber informações de uma forma consolidada.

                 

                 

                Anexo meu script de carga.

                 

                Att,

                Edlazaro

                  • Re: Analise consolidada
                    Klaus Gibin

                    Edlazaro ,

                     

                    Pelo que analisei as estruturas dos bancos de dados são idênticas, então fica mais fácil pra você entender.

                     

                    O que terá de ser feito a principio:
                    -  efetuar a carga das 4 empresas, CONCATENANDO as tabelas de mesmo nome.  Como são estruturas iguais, elas vão concatenar automaticamente.

                    Anexei 2 arquivos de Script, efetue o mesmo passo para as outras 2 empresa.

                     

                    - A tabela  'Loja' não está ligada com vendedor, nem com as vendas, nem com nada.. Você precisaria colocar o código da empresa 'emp_cd' também em alguma das outras tabelas.

                     


                    Caso alguma coisa fique confusa, pesquise sobre "Modelagem Dimensional" ou "Modelagem de dados para Qlikview".. Essa é a base inicial para construção de qualquer projeto.

                • Re: Analise consolidada
                  Clever Anjos

                  Traga todas as informações dos 4 bancos de uma vez, com uma coluna indicando a MAtriz/Filial.

                  Dai deixe que seu usuário selecione qual/quais filiais quer analizar

                    • Re: Analise consolidada
                      Edlazaro Moreira

                      Clever,

                       

                      Você poderia colocar um exemplo de como implementar a coluna indicando matriz/filial não conseguir entender.

                        • Re: Analise consolidada
                          mauro ponte

                          Edlazaro,

                           

                          O ideal é realmente unificar as bases. Concordo plenamente com o que colocaram Clever e Klaus.

                           

                          So acrescentaria  que voce tome alguns cuidados com relação alguns dados, pois, mesmo a estrutura das bases sendo idênticas algumas questões devem ser avaliadas para que voce tenha uma consolidação ideal dos dados.

                           

                          Principalmente com relação aos cadastros.

                           

                          Por exemplo, se voce tem um cadastro de produtos, onde o produto X na matriz tem o codigo 100 e em uma das filiais o codigo é 200, e as descrições não estão 100% iguais, isso pode te gerar problemas para consolidar os dados desse produto para as duas empresas.

                           

                          Isso pode ocorrer para outros cadastros como clientes, fornecedores, etc....

                           

                          Nesses casos voce precisaria dar um tratamento nessas informação para que o qlik entenda a relação entre essas informações de uma base para outra.

                           

                          Casos os cadastros sejam unificados e as informações 100% indenticas voce nao terá nenhum problema.

                      • Re: Analise consolidada
                        Alessandro Furtado

                        Edlazaro,

                         

                        segue um modelo de exemplo com um laço dos 4 bancos

                         

                        Perceba que não tem concatenate pois o Qlik identifica que são campos iguais da tabela e faz um autoconcatenate.....

                         

                        Obviamente não deu para testar.......

                        • Re: Analise consolidada
                          Alessandro Furtado

                          Se tiver o personal,  segue o script....

                           

                          For vBanco= 1 to 4

                            IF $(vBanco)=1 THEN

                                SET vLoja=Matriz;

                                OLEDB CONNECT TO [Provider=SQLOLEDB.1;Persist Security Info=True;User ID=sa;Initial Catalog=Matriz;Data Source=x.x.x.x.x;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=NOTEDLAZARO;Use Encryption for Data=False;Tag with column collation when possible=False] (XPassword is STNVLaJOBDdeGZVNBbcIXSJOSBMCTYAIASTA);

                            Endif

                              IF $(vBanco)=2 THEN

                                SET vLoja=Feira;

                                OLEDB CONNECT TO [Provider=SQLOLEDB.1;Persist Security Info=True;User ID=sa;Initial Catalog=Feira;Data Source=x.x.x.x.x;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=NOTEDLAZARO;Use Encryption for Data=False;Tag with column collation when possible=False] (XPassword is STNVLaJOBDdeGZVNBbcIXSJOSBMCTYAIASTA);

                            Endif

                            IF $(vBanco)=3 THEN

                                SET vLoja=VCA;

                                OLEDB CONNECT TO [Provider=SQLOLEDB.1;Persist Security Info=True;User ID=sa;Initial Catalog=VCA;Data Source=x.x.x.x.x;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=NOTEDLAZARO;Use Encryption for Data=False;Tag with column collation when possible=False] (XPassword is STNVLaJOBDdeGZVNBbcIXSJOSBMCTYAIASTA);

                            Endif

                            IF $(vBanco)=4 THEN

                                SET vLoja=Aracaju;

                                OLEDB CONNECT TO [Provider=SQLOLEDB.1;Persist Security Info=True;User ID=sa;Initial Catalog=Aracaju;Data Source=x.x.x.x.x;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=NOTEDLAZARO;Use Encryption for Data=False;Tag with column collation when possible=False] (XPassword is STNVLaJOBDdeGZVNBbcIXSJOSBMCTYAIASTA);

                            ENDIF

                            // ------------------------------

                            [Vendedores]:

                            LOAD

                            '$(vLoja)'          as Loja,

                            fun_cd   as [Código Vendedor],

                            fun_nm as [Nome Vendedor];

                            SELECT * FROM "TAB_FUN";

                           

                            [Clientes]:

                            LOAD

                            '$(vLoja)'          as Loja,

                            cg_cd as [Código Cliente],

                            cg_nm as [Nome do Cliente],

                            segm_cdbalcao as [Código Segmento1],

                            segm_cdoficina as [Código Segmento2];

                            SELECT * FROM "ger_cg";

                           

                            [Departamento]:

                            LOAD

                            '$(vLoja)'          as Loja,

                            dep_cd as [Códido do Departamento],

                            dep_nm as [Nome do Departamento];

                            SELECT * FROM tab_dep;

                           

                            [Marca]:

                            LOAD

                            '$(vLoja)'          as Loja,

                            tpd_cd as [Código da Marca],

                            tpd_ds as [Nome da Marca];

                            SELECT * FROM tab_tpd;

                           

                            [Segmento]:

                            LOAD

                            '$(vLoja)'          as Loja,

                            segm_cd as [Código Segmento],

                            segm_ds as [Nome do Segmento];

                            SELECT * FROM tab_segm;

                           

                            [Loja]:

                            LOAD

                            '$(vLoja)'          as Loja,

                            emp_cd as [Código da Loja],

                            emp_dsres as [Nome da Loja];

                            SELECT * FROM ger_emp;

                           

                            [Produtos]:

                            LOAD

                            '$(vLoja)'          as Loja,

                            pd_cd as [Código Produto],

                            pd_ds as [Descrição Produto],

                            tpd_cd as [Código da Marca],

                            pd_vlaquis as [Custo Reposição];

                            SELECT * FROM "ger_pd";

                           

                            [Itens]:

                            LOAD

                            '$(vLoja)'          as Loja,

                            nf_nr as [Numero da NF],

                            pd_cd as [Código Produto];

                            SELECT * FROM ger_nfsi;

                           

                            [TipoVenda]:

                            LOAD

                            '$(vLoja)'          as Loja,

                            me_cd as [Tipo da Venda],

                            me_ds as [Descrição];

                            SELECT * FROM tab_me;

                           

                            [Vendas]:

                            LOAD

                            '$(vLoja)'          as Loja,

                            cg_cd as [Código Cliente],

                            dep_cd as [Códido do Departamento],

                            nf_nr as [Numero da NF],

                            nf_dtemis as [Data de Emissão],

                            nf_vlliquido                as [Valor da Venda],

                            nf_vldesc as [Valor Desconto],

                            me_cd as [Tipo da Venda],

                            fun_vend as [Código Vendedor];

                            SELECT * FROM "ger_nfs"

                            WHERE nf_dtemis > '2013/12/31';

                            //AND me_cd = 'VE01' OR me_cd = 'VE04';

                           

                          next

                           

                           

                          DISCONNECT;  

                            • Re: Analise consolidada
                              Edlazaro Moreira

                              Boa noite, Alessandro,

                               

                              Testei o script com for que você enviou, porém duas situações ocorreram:

                               

                              1 ) No teste IF $(vBanco)=1 THEN  ele conecta no banco da matriz executa o script depois trava o computador.

                                   analisando identifiquei que a variável vBanco não é incrementada então adicionei um incremento antes do

                                   next  => vBanco = vBanco + 1; com isso ele se conecta em todas as base e executa o script depois trava

                                   nesta tela abaixo:

                                   TelaTrava.PNG

                                • Re: Analise consolidada
                                  Alessandro Furtado

                                  Edlazaro,

                                   

                                  segue um exemplo do laco sem conexão com banco para ver que não precisa incrementar na mão......O For faz isto.

                                   

                                  O ideal seria deixar quem sabe 1 tabela e colocar trace para ver aonde para.

                                   

                                  E se me permite uma sugestão,  troque todos os SELECT *

                                   

                                  por

                                   

                                  SELECT  CAMPO1,CAMPO2 From .....

                                   

                                   

                                  Desta forma, a performance muda muito.  Para dar um exemplo, lendo 2 tabelas do SAP com * levava +20minutos. Com os campos que precisávamos, caiu o tempo para 2 minutos. Neste caso, as tabelas tinham +150campos.....Nao conheço as suas, mas como boa pratica, nunca usar o *......

                                   

                                   

                                  Segue o script....

                                   

                                  For vBanco = 1 to 4

                                    IF $(vBanco)=1 THEN

                                        SET vLoja=Matriz;

                                        //OLEDB CONNECT TO [Provider=SQLOLEDB.1;Persist Security Info=True;User ID=sa;Initial Catalog=Matriz;Data Source=x.x.x.x.x;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=NOTEDLAZARO;Use Encryption for Data=False;Tag with column collation when possible=False] (XPassword is STNVLaJOBDdeGZVNBbcIXSJOSBMCTYAIASTA);

                                    Endif

                                      IF $(vBanco)=2 THEN

                                        SET vLoja=Feira;

                                        //OLEDB CONNECT TO [Provider=SQLOLEDB.1;Persist Security Info=True;User ID=sa;Initial Catalog=Feira;Data Source=x.x.x.x.x;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=NOTEDLAZARO;Use Encryption for Data=False;Tag with column collation when possible=False] (XPassword is STNVLaJOBDdeGZVNBbcIXSJOSBMCTYAIASTA);

                                    Endif

                                    IF $(vBanco)=3 THEN

                                        SET vLoja=VCA;

                                        //OLEDB CONNECT TO [Provider=SQLOLEDB.1;Persist Security Info=True;User ID=sa;Initial Catalog=VCA;Data Source=x.x.x.x.x;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=NOTEDLAZARO;Use Encryption for Data=False;Tag with column collation when possible=False] (XPassword is STNVLaJOBDdeGZVNBbcIXSJOSBMCTYAIASTA);

                                    Endif

                                    IF $(vBanco)=4 THEN

                                        SET vLoja=Aracaju;

                                        //OLEDB CONNECT TO [Provider=SQLOLEDB.1;Persist Security Info=True;User ID=sa;Initial Catalog=Aracaju;Data Source=x.x.x.x.x;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=NOTEDLAZARO;Use Encryption for Data=False;Tag with column collation when possible=False] (XPassword is STNVLaJOBDdeGZVNBbcIXSJOSBMCTYAIASTA);

                                    ENDIF

                                   

                                    TRACE ================================;

                                    TRACE ====  $(vLoja)            ====;

                                    TRACE ================================;

                                    // ------------------------------

                                   

                                   

                                    Tabela:

                                    LOAD

                                      '$(vLoja)'            as Loja,

                                      CampoA,

                                      CampoB;

                                    LOAD * INLINE [

                                    CampoA,CampoB

                                    TesteA,TesteB

                                    ];

                                   

                                  next

                                   

                                   

                                  DISCONNECT;  

                                  • Re: Analise consolidada
                                    Alessandro Furtado

                                    IMPORTANTE

                                     

                                    Vi agora.  Na realidade nao tinha prestado muita atencao a imagem.   Tem chaves sinteticas nela.  Este é o motivo da demora.

                                     

                                    Neste caso podes fazer assim

                                     

                                    For vBanco = 1 to 4

                                      IF $(vBanco)=1 THEN

                                          SET vLoja=Matriz;

                                          //OLEDB CONNECT TO [Provider=SQLOLEDB.1;Persist Security Info=True;User ID=sa;Initial Catalog=Matriz;Data Source=x.x.x.x.x;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=NOTEDLAZARO;Use Encryption for Data=False;Tag with column collation when possible=False] (XPassword is STNVLaJOBDdeGZVNBbcIXSJOSBMCTYAIASTA);

                                      Endif

                                        IF $(vBanco)=2 THEN

                                          SET vLoja=Feira;

                                          //OLEDB CONNECT TO [Provider=SQLOLEDB.1;Persist Security Info=True;User ID=sa;Initial Catalog=Feira;Data Source=x.x.x.x.x;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=NOTEDLAZARO;Use Encryption for Data=False;Tag with column collation when possible=False] (XPassword is STNVLaJOBDdeGZVNBbcIXSJOSBMCTYAIASTA);

                                      Endif

                                      IF $(vBanco)=3 THEN

                                          SET vLoja=VCA;

                                          //OLEDB CONNECT TO [Provider=SQLOLEDB.1;Persist Security Info=True;User ID=sa;Initial Catalog=VCA;Data Source=x.x.x.x.x;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=NOTEDLAZARO;Use Encryption for Data=False;Tag with column collation when possible=False] (XPassword is STNVLaJOBDdeGZVNBbcIXSJOSBMCTYAIASTA);

                                      Endif

                                      IF $(vBanco)=4 THEN

                                          SET vLoja=Aracaju;

                                          //OLEDB CONNECT TO [Provider=SQLOLEDB.1;Persist Security Info=True;User ID=sa;Initial Catalog=Aracaju;Data Source=x.x.x.x.x;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=NOTEDLAZARO;Use Encryption for Data=False;Tag with column collation when possible=False] (XPassword is STNVLaJOBDdeGZVNBbcIXSJOSBMCTYAIASTA);

                                      ENDIF

                                     

                                     

                                     

                                     

                                      If $(vBanco)= 1 THEN

                                          SET vTabela='Tabela:';

                                      ELSE

                                          SET vTabela='concatenate (Tabela)';

                                        ENDIF;

                                     

                                     

                                     

                                      TRACE ================================;

                                      TRACE ====   $(vLoja)             ====;

                                      TRACE ================================;

                                     

                                     

                                     

                                      $(vTabela)

                                      LOAD

                                         '$(vLoja)'            as Loja,

                                         CampoA,

                                         CampoB;

                                      LOAD * INLINE [

                                      CampoA,CampoB

                                      TesteA,TesteB

                                      ];

                                     

                                    next

                                     

                                     

                                    DISCONNECT;   

                                • Re: Analise consolidada
                                  Alessandro Furtado

                                  Deu certo?

                                  • Re: Analise consolidada
                                    Wellington Regis Silva

                                        Edlazaro,

                                        Bom dia!

                                     

                                        Modifiquei seu Script para que ele gere um QVD para cada tabela depois junte tudo. Usei uma rotina que irá manter o uso de memória RAM mais baixo possível.

                                        Os QVDs finais estão programados para serem salvos numa subpasta chamada "QVDs" mas você pode alterar esse comando e deixar tudo junto se quiser.

                                        Obviamente não tive como testar aqui. Quando o Script terminar o QVW deve estar sem dados e os QVDs prontos para um nova carga no seu painel de análise. Segue o Script:

                                     

                                    //------------------------------------ Inicio do script ---------------------------------------------------------------------------
                                    //------------------------------------ CARGA ---------------------------------------------------------------------------
                                    SET vBanco = 1;

                                    DO WHILE vBanco <= 4

                                    IF $(vBanco)=1 THEN
                                    SET vLoja=Matriz;
                                    OLEDB CONNECT TO [Provider=SQLOLEDB.1;Persist Security Info=True;User ID=sa;Initial Catalog=Matriz;Data Source=x.x.x.x.x;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=NOTEDLAZARO;Use Encryption for Data=False;Tag with column collation when possible=False] (XPassword is STNVLaJOBDdeGZVNBbcIXSJOSBMCTYAIASTA);
                                    ELSE
                                    IF $(vBanco)=2 THEN
                                    SET vLoja=Feira;
                                    OLEDB CONNECT TO [Provider=SQLOLEDB.1;Persist Security Info=True;User ID=sa;Initial Catalog=Feira;Data Source=x.x.x.x.x;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=NOTEDLAZARO;Use Encryption for Data=False;Tag with column collation when possible=False] (XPassword is STNVLaJOBDdeGZVNBbcIXSJOSBMCTYAIASTA);
                                    ELSE
                                    IF $(vBanco)=3 THEN
                                    SET vLoja=VCA;
                                    OLEDB CONNECT TO [Provider=SQLOLEDB.1;Persist Security Info=True;User ID=sa;Initial Catalog=VCA;Data Source=x.x.x.x.x;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=NOTEDLAZARO;Use Encryption for Data=False;Tag with column collation when possible=False] (XPassword is STNVLaJOBDdeGZVNBbcIXSJOSBMCTYAIASTA);
                                    ELSE
                                    IF $(vBanco)=4 THEN
                                    SET vLoja=Aracaju;
                                    OLEDB CONNECT TO [Provider=SQLOLEDB.1;Persist Security Info=True;User ID=sa;Initial Catalog=Aracaju;Data Source=x.x.x.x.x;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=NOTEDLAZARO;Use Encryption for Data=False;Tag with column collation when possible=False] (XPassword is STNVLaJOBDdeGZVNBbcIXSJOSBMCTYAIASTA);
                                    ENDIF
                                    ENDIF
                                    ENDIF
                                    ENDIF
                                    // ------------------------------
                                    [Vendedores]:
                                    LOAD
                                    fun_cd              as [Código Vendedor],
                                    fun_nm                    as [Nome Vendedor];
                                    SQL
                                    SELECT  fun_cd, 
                                    fun_nm
                                    FROM "TAB_FUN";

                                    STORE Vendedores into Vendedores_$(vLoja).qvd (qvd);

                                    DROP Table Vendedores;

                                    [Clientes]:
                                    LOAD
                                    cg_cd                as [Código Cliente],
                                    cg_nm                as [Nome do Cliente],
                                    segm_cdbalcao        as [Código Segmento1],
                                    segm_cdoficina      as [Código Segmento2];
                                    SQL
                                    SELECT  cg_cd,
                                    cg_nm,
                                    segm_cdbalcao,
                                    segm_cdoficina 
                                    FROM "ger_cg";

                                    STORE Clientes into Clientes_$(vLoja).qvd (qvd);

                                    DROP Table Clientes;

                                    [Departamento]:
                                    LOAD
                                    dep_cd                    as [Códido do Departamento],
                                    dep_nm                    as [Nome do Departamento];
                                    SQL
                                    SELECT  dep_cd,
                                    dep_nm
                                    FROM tab_dep;

                                    STORE Departamento into Departamento_$(vLoja).qvd (qvd);

                                    DROP Table Departamento;

                                    [Marca]:
                                    LOAD
                                    tpd_cd                    as [Código da Marca],
                                    tpd_ds                    as [Nome da Marca];
                                    SQL
                                    SELECT  tpd_cd,
                                    tpd_ds
                                    FROM tab_tpd;

                                    STORE Marca into Marca_$(vLoja).qvd (qvd);

                                    DROP Table Marca;

                                    [Segmento]:
                                    LOAD 
                                    segm_cd                  as [Código Segmento],
                                    segm_ds                  as [Nome do Segmento];
                                    SQL
                                    SELECT  segm_cd,
                                    segm_ds
                                    FROM tab_segm;

                                    STORE Segmento into Segmento_$(vLoja).qvd (qvd);

                                    DROP Table Segmento;

                                    [Loja]:
                                    LOAD
                                    emp_cd                    as [Código da Loja],
                                    emp_dsres            as [Nome da Loja];
                                    SQL
                                    SELECT  emp_cd,
                                    emp_dsres
                                    FROM ger_emp;

                                    STORE Loja into Loja_$(vLoja).qvd (qvd);

                                    DROP Table Loja;

                                    [Produtos]:
                                    LOAD
                                    pd_cd                as [Código Produto],
                                    pd_ds                as [Descrição Produto],
                                    tpd_cd                    as [Código da Marca],
                                    pd_vlaquis          as [Custo Reposição];
                                    SQL
                                    SELECT  pd_cd,
                                    pd_ds,
                                    tpd_cd,
                                    pd_vlaquis
                                    FROM "ger_pd";

                                    STORE Produtos into Produtos_$(vLoja).qvd (qvd);

                                    DROP Table Produtos;

                                    [Itens]:
                                    LOAD
                                    nf_nr                as [Numero da NF],
                                    pd_cd                as [Código Produto];
                                    SQL
                                    SELECT  nf_nr,
                                    pd_cd
                                    FROM ger_nfsi;

                                    STORE Itens into Itens_$(vLoja).qvd (qvd);

                                    DROP Table Itens;

                                    [TipoVenda]:
                                    LOAD
                                    me_cd                as [Tipo da Venda],
                                    me_ds                as [Descrição];
                                    SQL
                                    SELECT  me_cd,
                                    me_ds
                                    FROM tab_me;

                                    STORE TipoVenda into TipoVenda_$(vLoja).qvd (qvd);

                                    DROP Table TipoVenda;

                                    [Vendas]:
                                    LOAD
                                    cg_cd                as [Código Cliente],
                                    dep_cd                    as [Códido do Departamento],
                                    nf_nr                as [Numero da NF],
                                    nf_dtemis            as [Data de Emissão],
                                    nf_vlliquido        as [Valor da Venda],
                                    nf_vldesc            as [Valor Desconto],
                                    me_cd                as [Tipo da Venda],
                                    fun_vend            as [Código Vendedor];
                                    SQL
                                    SELECT  cg_cd,
                                    dep_cd,
                                    nf_nr,
                                    nf_dtemis,
                                    nf_vlliquido,
                                    nf_vldesc,
                                    me_cd,
                                    fun_vend
                                    FROM "ger_nfs"
                                    WHERE nf_dtemis > '2013/12/31';
                                    //AND me_cd = 'VE01' OR me_cd = 'VE04';

                                    STORE Vendas into Vendas_$(vLoja).qvd (qvd);

                                    DROP Table Vendas;

                                    LET vBanco = vBanco + 1;

                                    LOOP;


                                    //------------------------------------ JUNÇÃO DOS QVDS ---------------------------------------------------------------------------

                                    [Vendedores]:
                                    LOAD * FROM Vendedores_*.qvd (qvd) Where Not Exists ([Código Vendedor]);

                                    STORE Vendedores into .\QVDs\Vendedores.qvd (qvd);

                                    DROP Table Vendedores;


                                    [Clientes]:
                                    LOAD * FROM Clientes_*.qvd (qvd) Where Not Exists ([Código Cliente]);

                                    STORE Clientes into .\QVDs\Clientes.qvd (qvd);

                                    DROP Table Clientes;

                                    [Departamento]:
                                    LOAD * FROM Departamento_*.qvd (qvd) Where Not Exists ([Códido do Departamento]);

                                    STORE Departamento into .\QVDs\Departamento.qvd (qvd);

                                    DROP Table Departamento;

                                    [Marca]:
                                    LOAD * FROM Marca_*.qvd (qvd) Where Not Exists ([Código da Marca]);

                                    STORE Marca into .\QVDs\Marca.qvd (qvd);

                                    DROP Table Marca;

                                    [Segmento]:
                                    LOAD * FROM Segmento_*.qvd (qvd) Where Not Exists ([Código Segmento]);

                                    STORE Segmento into .\QVDs\Segmento.qvd (qvd);

                                    DROP Table Segmento;

                                    [Loja]:
                                    LOAD * FROM Loja_*.qvd (qvd) Where Not Exists ([Código da Loja]);

                                    STORE Loja into .\QVDs\Loja.qvd (qvd);

                                    DROP Table Loja;

                                    [Produtos]:
                                    LOAD * FROM Produtos_*.qvd (qvd) Where Not Exists ([Código Produto]);

                                    STORE Produtos into .\QVDs\Produtos.qvd (qvd);

                                    DROP Table Produtos;

                                    [Itens]:
                                    LOAD * FROM Itens_*.qvd (qvd);

                                    STORE Itens into .\QVDs\Itens.qvd (qvd);

                                    DROP Table Itens;

                                    [TipoVenda]:
                                    LOAD * FROM TipoVenda_*.qvd (qvd) Where Not Exists ([Tipo da Venda]);

                                    STORE TipoVenda into .\QVDs\TipoVenda.qvd (qvd);

                                    DROP Table TipoVenda;

                                    [Vendas]:
                                    LOAD * FROM Vendas_*.qvd (qvd);

                                    STORE Vendas into .\QVDs\Vendas.qvd (qvd);

                                    DROP Table Vendas;


                                    // .................................FIM DO SCRIPT ............................................

                                     

                                    Espero que ele possa lhe ser útil.

                                     

                                    Felicidades...

                                      • Re: Analise consolidada
                                        Edlazaro Moreira

                                        Bom dia! Senhores,

                                         

                                        Alessandro, seu script funcionou gerando os arquivos de forma consolidada, porém só traz informações do ultimo banco do for o banco Aracaju. Fiz o teste também como o script que o Wellington enviou funcionou perfeitamente, gerando os qvds de forma consolidada, permitindo extrair as informações individuais e consolidada.

                                         

                                        Com esse script me atende estarei dando seguimento ao meu projeto.

                                         

                                        Obrigado a todos que me ajudaram.

                                         

                                        Abraço.