Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Boa tarde
Preciso criar uma carga incremental por data, podem me ajudar por onde começo.
- Terei diariamente uma carga dos ultimos 30 dias e eu preciso criar essa carga de histórico no qlikview.
Twister, você pode fazer o controle com Where exists ou então fazer o controle por WHERE DATA > x
exemplo:
Sua consulta SQL vai ter o controle de ler somente os arquivos do dia de ontem.
Em seu qvd temos os dados do mês inteiro e pode até ter os dados de ontem (vamos preparar a carga para caso tenha, removeremos esses registros antes de juntar com os da consulta.)
LET vOntem = Date(Today()-1, 'YYYY-MM-DD'); //O formato da data vai depender de cada tabela e base de dados.
Fato:
SQL SELECT * FROM Tabela1 WHERE DATA = '$(vOntem)';
CONCATENATE
LOAD
*
FROM Fato.qvd (qvd)
WHERE
NOT Exists(DATA) //Elimino a data que esta retornando na consulta.
//Você pode substituir o NOT Exists por um 'DATA < '$(vOntem)' - Mas no NOT Exists é melhor prática.
STORE Fato INTO Fato.qvd (qvd);
Acredito que esse exemplo vai te ajudar bastante.
Dê uma procurada no seu manual por "Carga Incremental" tem exemplos
Conforme o Clever orientou, procure esta sessão no manual que possui exemplos de como realizar diversos tipos de cargas incrementais.
Se continuar com alguma dúvida ou precisar de um exemplo prático, nos informe que podemos montar um exemplo
Obrigado, foi erro meu deveria ter olhado o manual antes.
Acabei optando por fazer apenas a inserção dos dados e tenho uma duvida.
-Vou gerar o meu qvd com os dados até hoje.
-Vou concatenar com a base (diária) que vai conter por exemplo 25 dias;
-Minha ideia é tirar do meu qvd os 25 dias e acrescentar o da base diária, faz sentido?
Se faz sentido eu preciso converter minha data (do arquivo qvd) em número de dias para poder fazer - 25 dias.
como converto minha data em numero de dias ou como tiro dias de uma data?
=date(Data - 25)
Esta funcionando assim, porém eu preciso selecionar uma data, ou seja, na carga do painel esta com erro.
Twister, você pode fazer o controle com Where exists ou então fazer o controle por WHERE DATA > x
exemplo:
Sua consulta SQL vai ter o controle de ler somente os arquivos do dia de ontem.
Em seu qvd temos os dados do mês inteiro e pode até ter os dados de ontem (vamos preparar a carga para caso tenha, removeremos esses registros antes de juntar com os da consulta.)
LET vOntem = Date(Today()-1, 'YYYY-MM-DD'); //O formato da data vai depender de cada tabela e base de dados.
Fato:
SQL SELECT * FROM Tabela1 WHERE DATA = '$(vOntem)';
CONCATENATE
LOAD
*
FROM Fato.qvd (qvd)
WHERE
NOT Exists(DATA) //Elimino a data que esta retornando na consulta.
//Você pode substituir o NOT Exists por um 'DATA < '$(vOntem)' - Mas no NOT Exists é melhor prática.
STORE Fato INTO Fato.qvd (qvd);
Acredito que esse exemplo vai te ajudar bastante.