Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
pericles_silva
Contributor III
Contributor III

Concatenar QVDs com leitura Coringa

(OBS: QVW em anexo)

Prezados,

Tenho uma estrutura de QVDs por Ano e Mês. No final, preciso fazer a leitura de todos, onde utilizo um coringa (ex: TABELA_*.QVD).

Sendo que, com o tempo, uma tabela de um ano e mês novo pode conter um novo campo, onde implica na concatenação automática no Qlikview.

No arquivo em anexo, existem três tabelas, sendo que a terceira está comentada.

1º Faça a carga da primeira vez. Qlikview concatena as tabelas 1 e 2.

2º Faça a carga DESCOMENTANDO A TERCEIRA, pois ela tem um campo a mais, ao fazer a carga ele não concatena a tabela 3, gerando problemas.

Aguém tem uma solução para isso?

Grato,

Péricles.

1 Solution

Accepted Solutions
Not applicable

Ola,

Da uma olhada neste post que parece ser um caso identico ao seu. (http://community.qlik.com/message/187124#187124)

Em resumo, quando não é definido a palavra chave CONCATENATE, somente é concatenado quando o numero de campos são iguais.

A solução para o caso é forçar o uso da palavra concatenate de acordo com a lógica:

Set vConcatenate = ;

for each vFile in FileList('MYDATA_*.qvd')

     $(vConcatenate)

     LOAD * FROM [$(vFile)] (qvd);

     Set vConcatenate = Concatenate;

next vFile

Abraços

View solution in original post

4 Replies
Not applicable

Bom dia!

Tente

TABELA_FINAL:

LOAD * FROM [TABELA_*] (qvd);

By Rebeca

Not applicable

Ola,

Da uma olhada neste post que parece ser um caso identico ao seu. (http://community.qlik.com/message/187124#187124)

Em resumo, quando não é definido a palavra chave CONCATENATE, somente é concatenado quando o numero de campos são iguais.

A solução para o caso é forçar o uso da palavra concatenate de acordo com a lógica:

Set vConcatenate = ;

for each vFile in FileList('MYDATA_*.qvd')

     $(vConcatenate)

     LOAD * FROM [$(vFile)] (qvd);

     Set vConcatenate = Concatenate;

next vFile

Abraços

pericles_silva
Contributor III
Contributor III
Author

Não entendi. Você apenas retirou a extensão .QVD do final.

De qualquer forma não funcionou.

pericles_silva
Contributor III
Contributor III
Author

Eduardo, obrigado pelo apoio. Funcionou corretamente.

Embora o Qlikview mostre a "cobrinha" de erros de sintaxe, em tempo de execução a sintaxe fica certa.

Só faça um pequeno ajuste no código:

Set vConcatenate = 'Concatenate'; (aspas simples, pois sem elas o Qlikview pensa que é uma variável.)

Valeu!