Skip to main content
Announcements
Live today at 11 AM ET. Get your questions about Qlik Connect answered, or just listen in. SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Concatenate com Resident

Boa Noite Amigos, tudo bem?

Estou passando por dificuldades e gostaria de ajudar.

Tenho um arquivo .qvd  e gostaria de inserir novos dados a esse arquivo de uma outra fonte de dados no caso vários arquivos .txt.

Como o arquivo tem rótulos diferente do .qvd, pensei em fazer load de todos os arquivo em um tabela temporária usando as para renomear os rótulos e usar o concatenate com a tabela resident usando um not exists.

Todavia não está dando muito certo, poderiam por favor me ajudar?

*Poderia gerar um outro qvd com os arquivo .txt e concatena-los, entretanto, vejo que não é necessário.

**Caso não tenha sido claro, coloquei o script abaixo e anexei os arquivos

TABELA_PRINCIPAL:

LOAD

     NOME

,   FUMANTE

FROM ..\QVD\TAB_PRINCIPAL.QVD (qvd);

/////////////////////////////////////Arquivo Temporário

TEMP_TXT:

LOAD

  ID_NOME                     AS NOME

, ID_FUMANTE               AS FUMANTE

FROM ..\TXT\ARQ* //////////ler todos os arquivos na pasta

(txt, codepage is 1252, embedded labels, delimiter is '\t', msq);

Concatenate (TABELA_PRINCIPAL)

LOAD

  NOME

, FUMANTE

Resident TEMP_TXT

Where NOT Exists(NOME);

DROP TABLE TEMP_TXT;

Labels (2)
1 Solution

Accepted Solutions
Marcio_Campestrini
Specialist
Specialist

Wallace

Eu inverti os parâmetros da função Exists.

Fica assim:

Where NOT Exists(NOME, ID_NOME);

Márcio Rodrigo Campestrini

View solution in original post

4 Replies
Marcio_Campestrini
Specialist
Specialist

Bom dia Wallace

Eu resolveria da seguinte forma:

TABELA_PRINCIPAL:

LOAD

     NOME

,   FUMANTE

FROM ..\QVD\TAB_PRINCIPAL.QVD (qvd);

/////////////////////////////////////Arquivo Temporário

TEMP_TXT:

LOAD

  ID_NOME

, ID_FUMANTE

FROM ..\TXT\ARQ* //////////ler todos os arquivos na pasta (txt, codepage is 1252, embedded labels, delimiter is '\t', msq);

Concatenate (TABELA_PRINCIPAL)

LOAD

  ID_NOME                     AS NOME

, ID_FUMANTE               AS FUMANTE

Resident TEMP_TXT

Where NOT Exists(ID_NOME, NOME);

DROP TABLE TEMP_TXT;


Espero que ajude.

Márcio Rodrigo Campestrini
Not applicable
Author

Bom dia!

Obrigado pela ajuda, entretanto não deu certo. Aparece um erro dizendo que o campo <NOME> não foi encontrado

Marcio_Campestrini
Specialist
Specialist

Wallace

Eu inverti os parâmetros da função Exists.

Fica assim:

Where NOT Exists(NOME, ID_NOME);

Márcio Rodrigo Campestrini
Not applicable
Author

Boa Noite!

Obrigado, deu muito certo!