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

Atualização de dados

Olá,

Gostaria de saber como fazer que a carga de dados do qlikview seja feita de um determinado periodo.
O caso é o seguinte, preciso que seja feita atualização dos dados sendo >= mês atual, sendo que os meses já passados, ex: jan-2011 não será necessario atualizar pois não sofrem alteração.

Obrigado!

1 Solution

Accepted Solutions
cesaraccardi
Specialist
Specialist

Vilmar,

pelo que entendi você poderia fazer algo assim:

Faça uma carga inicial dos teus dados até a data de ontem por exemplo:

"SQL Select * from DADOS where DATA <= 10/02/2011"

O resultado você armazena em um QVD (Ex: CARGAHISTORICO.QVD)

Depois disso você pode comentar o código dessa carga para que ele não fique executando toda vez que rodar o script.

Em seguida, faça uma segunda carga de dados onde você pega somente os dados de hoje (para isso você vai precisar de uma função do BD que retorne a data atual). Ficaria algo assim:

"SQL Select * from DADOS where DATA = CURRENT_DATE()"

O resultado você armazena em um QVD (Ex: CARGAATUAL.QVD)

Aí em seguida você faz a concatenação das duas cargas:

DADOS:

LOAD * FROM CARGAHISTORICO.QVD;

LOAD * FROM CARGAATUAL.QVD;

e Armazena isso como CARGAHISTORICO.QVD, substituindo a primeira carga (que é o arquivo que você vai usar em sua aplicação e estará sempre atualizado, obs: estou supondo que você tenha uma carga de dados diária).

Espero ter ajudado.

View solution in original post

3 Replies
Not applicable
Author

Vilmar, o que entendi de seu post é que voce quer fazer algo parecido com uma carga incremental.

Voce pode alterar o script de carga, para ler somente dados do mes atual (pode fazer isso no proprio SQL de leitura dos dados).

Os dados antigos (que nao sofrem alterações) voce pode gravar em um QVD, que será concatenado com sua leitura dos dados do mes.

É isso mesmo que voce precisa?

Not applicable
Author

isso mesmo, porém como faço isso?

cesaraccardi
Specialist
Specialist

Vilmar,

pelo que entendi você poderia fazer algo assim:

Faça uma carga inicial dos teus dados até a data de ontem por exemplo:

"SQL Select * from DADOS where DATA <= 10/02/2011"

O resultado você armazena em um QVD (Ex: CARGAHISTORICO.QVD)

Depois disso você pode comentar o código dessa carga para que ele não fique executando toda vez que rodar o script.

Em seguida, faça uma segunda carga de dados onde você pega somente os dados de hoje (para isso você vai precisar de uma função do BD que retorne a data atual). Ficaria algo assim:

"SQL Select * from DADOS where DATA = CURRENT_DATE()"

O resultado você armazena em um QVD (Ex: CARGAATUAL.QVD)

Aí em seguida você faz a concatenação das duas cargas:

DADOS:

LOAD * FROM CARGAHISTORICO.QVD;

LOAD * FROM CARGAATUAL.QVD;

e Armazena isso como CARGAHISTORICO.QVD, substituindo a primeira carga (que é o arquivo que você vai usar em sua aplicação e estará sempre atualizado, obs: estou supondo que você tenha uma carga de dados diária).

Espero ter ajudado.