Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Anexo no arquivo zip,
Pastas > Banco de Dados> QVD> QVW.
Está funcionando 100%. (Mas achei meio complicado) Talvez tenha um jeito mais rápido de chegar ao resultado final.
Bom Gostaria de Saber se existe como melhorar este script que eu peguei estudando pelo Youtube.
Fonte do Estudo:(Vídeo Youtube): Incremental Data Load in Qlikview - YouTube
ODBC CONNECT32 TO [MS Access Database;DBQ=C:\Qlikview\DataFiles\Orders.accdb];
// 1 -Script de carga inicial.
//LOAD OrderID,
// ProductID,
// Customerid,
// Amount,
// `Date_updated`;
//SQL SELECT *
//FROM Orders
//where Date_updated >= #$(vUpdateDate)#;
//
//STORE Sales into 'C:\Qlikview\QVDs\Sales.qvd'(qvd);
// 2 -QVD carga de vendas para receber as últimas e data de atualização
Sales:
LOAD OrderID,
ProductID,
Customerid,
Amount,
Date_updated
FROM
C:\Qlikview\QVDs\Sales.qvd
(qvd);
Sort_Sales:
LOAD *
Resident Sales
Order by Date_updated;
LET 'vUpdateDate' = Peek('Date_updated', -1,'Sort_Sales');
DROP Table Sales;
//3 -CARREGAR REGISTROS INCREMENTAIS DE DADOS DE ORIGEM
incremental:
NoConcatenate
LOAD OrderID,
ProductID,
Customerid,
Amount,
Date_updated;
SQL SELECT *
FROM NewOrders
where Date_updated >= #$(vUpdateDate)#;
Olá Altere a forma de definição da variável vUpdateDate.
Exemplo:
LET vUpdateDate = Date(Peek('MaxDate'),'DD/MM/YYYY');
Olá Agnaldo, é isso mesmo.
Só alteraria os passos 2 e 3, ficando da seguinte forma.
// 2 -QVD carga de vendas para receber as últimas e data de atualização
TMP_MaxDateSales:
LOAD Max(Date_updated) as MaxDate
FROM C:\Qlikview\QVDs\Sales.qvd (qvd);
LET vUpdateDate = Peek('MaxDate');
DROP Table TMP_MaxDateSales;
//3 -CARREGAR REGISTROS INCREMENTAIS DE DADOS DE ORIGEM
Sales:
LOAD OrderID,
ProductID,
Customerid,
Amount,
Date_updated;
SQL SELECT *
FROM NewOrders
where Date_updated >= #$(vUpdateDate)#;
// Como as duas tabelas possuem a mesma quantidade de campos com os mesmos nomes, o QlikView Concatena automaticamente em apenas uma tabela
LOAD OrderID,
ProductID,
Customerid,
Amount,
Date_updated
FROM
C:\Qlikview\QVDs\Sales.qvd
(qvd);
STORE Sales into C:\Qlikview\QVDs\Sales.qvd;
Qlikfique-se.
Tonial.
Como criar neste script um exemplo para usar apenas uma tabela.
A tabela seria NewOrders no exemplo
Caso o campo teria modificação o registro Date_updated,
Que o QVD faça a comparação com a tabela NewOrders sem outra tabela.
Desculpa Agnaldo,
Estou sem entender o que você quer.
Pode explicar melhor?
Tonial.
No banco Dados Orders.mdb
Tem 02 Tabelas (Orders, NewOrders)
Mas eu usarei apenas uma NewOrders.
Existe como, o QVD (Sales.qvd).
Pegar apenas as atualizações do NewOrders, quando houver.
Não Vou usar ser possível Orders.
Pois as vezes tenho que ficar implementando novos campos.
EXISTI A NECESSIDADE DA TABELA ORDERS NESTE SCRIPT.?
Executei o script acima apareceu este. erro
Olá Altere a forma de definição da variável vUpdateDate.
Exemplo:
LET vUpdateDate = Date(Peek('MaxDate'),'DD/MM/YYYY');