Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Union Tabelas

Tem um script que le arquivos em sum diretórios, sem precisar carregar arquivos 1 por 1 em Arquivos de Tabelas. Porém apareceu o seguinte problema. Quando eu executo ele carrega todas as tabelas, porém só a ultima carregada é que os dados são mostrados, se eu usar Qualify ele cria muitas tabelas. Gostaria de a cada passo da execução ele ir gerando uma tabela só contendo os dados das tabelas anteriores.

http://community.qlik.com/docs/DOC-1306#comment-2524

1 Solution

Accepted Solutions
aderlanrm
Partner - Specialist
Partner - Specialist

Olá Issosorio,

Tenta mudar essa parte do script:

FOR Each Dir in DirList ('*')

    FOR each Dados in dirlist (Dir&'\*')

        CALL DoDir(Dir);

    NEXT Dados;

NEXT Dir;

Executei por aqui e funcionou:

Diretorios << AUTOGENERATE(1) 1 registros lidos

Receita_Candidato << ReceitasCandidatos 10.291 registros lidos

Diretorios << AUTOGENERATE(1) 2 registros lidos

Receita_Candidato << ReceitasCandidatos 42.463 registros lidos

--- Script Finalizado ---

Aderlan Rodrigues
Analista, Arquiteto de Dados e Piloto Amador Drone FPV
 (41) 9 9917-0869  www.BIdeAZ.com.br  Youtube.com/bideaz  Instagram.com/bideaz.in

"Nada é tão inútil quanto fazer eficientemente o que não deveria ser feito." (Peter Drucker)

View solution in original post

5 Replies
aderlanrm
Partner - Specialist
Partner - Specialist

Olá Issosorio,

Tem certeza que os outros arquivos tem dados?

Confira se realmente é somente o último arquivo que está sendo carregado, use o opção Debug no script e veja passo a passo como está executando e o quanto de dados está carregando cada arquivo.

Abraço.

Aderlan Rodrigues
Analista, Arquiteto de Dados e Piloto Amador Drone FPV
 (41) 9 9917-0869  www.BIdeAZ.com.br  Youtube.com/bideaz  Instagram.com/bideaz.in

"Nada é tão inútil quanto fazer eficientemente o que não deveria ser feito." (Peter Drucker)
Not applicable
Author

Sim  todas as tabelas tem dados, eu peguei um arquivo de prestação das contas. Ai eu tenho candidato e dentro de cadidato eu tenho 27 estados e todos tem um arquivo chamado ReceitaCandidadto.txt que estão preenchidos. Porém na hora que eu dou a carga (Segue script anexado) Ele vai sobrepondo as informações anteriores. Eu fiz um filtro para constatar o que eu suspeitava, e relamente ele tava fzd isso.

abraçooo

aderlanrm
Partner - Specialist
Partner - Specialist

Eu dei uma olhada e não vi nada que possa causar o problema, com um DROP por exemplo, mas não tenho a estrutura de pastas e arquivos para fazer testes, você sabe usar a depuração?

Abra o script e execute a depuração ao invés de fazer a recarga, com isso, você vai passo a passo e encontrará o problema com facilidade.

Ou monte um exemplo e anexe os arquivos com extrutura compactado zip que damos uma olhada.

Grande abraço.

Aderlan Rodrigues
Analista, Arquiteto de Dados e Piloto Amador Drone FPV
 (41) 9 9917-0869  www.BIdeAZ.com.br  Youtube.com/bideaz  Instagram.com/bideaz.in

"Nada é tão inútil quanto fazer eficientemente o que não deveria ser feito." (Peter Drucker)
Not applicable
Author

Aderlan segue o exemplo, o que ele está fazendo é o seguinte, ele vai lendo até chegar a pasta AC, ai le o arquivo tudo ok, porem qnd le o arquivo da 2 pasta ele apaga o conteudo anterior segue um RAR com 2 pastas para teste

aderlanrm
Partner - Specialist
Partner - Specialist

Olá Issosorio,

Tenta mudar essa parte do script:

FOR Each Dir in DirList ('*')

    FOR each Dados in dirlist (Dir&'\*')

        CALL DoDir(Dir);

    NEXT Dados;

NEXT Dir;

Executei por aqui e funcionou:

Diretorios << AUTOGENERATE(1) 1 registros lidos

Receita_Candidato << ReceitasCandidatos 10.291 registros lidos

Diretorios << AUTOGENERATE(1) 2 registros lidos

Receita_Candidato << ReceitasCandidatos 42.463 registros lidos

--- Script Finalizado ---

Aderlan Rodrigues
Analista, Arquiteto de Dados e Piloto Amador Drone FPV
 (41) 9 9917-0869  www.BIdeAZ.com.br  Youtube.com/bideaz  Instagram.com/bideaz.in

"Nada é tão inútil quanto fazer eficientemente o que não deveria ser feito." (Peter Drucker)