Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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;
Wallace
Eu inverti os parâmetros da função Exists.
Fica assim:
Where NOT Exists(NOME, ID_NOME);
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.
Bom dia!
Obrigado pela ajuda, entretanto não deu certo. Aparece um erro dizendo que o campo <NOME> não foi encontrado
Wallace
Eu inverti os parâmetros da função Exists.
Fica assim:
Where NOT Exists(NOME, ID_NOME);
Boa Noite!
Obrigado, deu muito certo!