Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hi All,
I have implemented the incremental load for one of my application. There I am loading latest date's record from DB as well as deleting
very first days record from QVD.
But the dashboard was showing Min and Max of date only for some of instruments.
Though DB having in between days data it is not showing up.
My incremental load will be like below
/*If Historical QVD is not available */
History_A:
Sql Select * from DB_Table
where Type_Name ='A' and Trunc(Load_date)>=trunc(SYSDATE-15);
Store History_A into History_A.qvd;
Transac:
Load *
From History_A.qvd;
Store Transac into Transac.qvd;
Else (//if history qvd is avilable)
Load * frrom
History_A.qvd
where (timestamp(Load_Date))>= (timestamp(today()-14)
Concatenate
SQL select * from DB_Table
where Trunc(Load_Date)=Trunc(Sysdate-2)
DB is Oracle.
Kindly share your inputs
Does this trunc() exist in QV?? I doubt!!
I am not using Trunc in QV load script..In SQL only I am using it
very simple process to implement Incremental load:
Incremental Load in QlikView – Part1 | Learn QlikView
Incremental Load in QlikView – Part2 | Learn QlikView
Hope this will help!!
okay, pls go through the shared threads, you will get your answer
I wouldn't' say the incremental load in Qlik is very simple.
You can find some help in QlikView help (search QVD)
Regarding your script
1)
In the first sql statement you filter the record from db
in the last one you don't; why?
where Type_Name ='A'
2)
When the qvd is available, you load 15 days from qvd and concatenate 3 days (I suppose you need a Trunc(Load_Date)>=trunc(Sysdate-2), greater equal, not an equal as in your script).
I think you get some duplicated rows here, because you load the same dates from qvd and from db. Maybe you need to first load from db and the from qvd with a not exists.
Also you miss a store in history qvd
Else (//if history qvd is avilable)
Load * frrom
History_A.qvd
where (timestamp(Load_Date))>= (timestamp(today()-14)
Concatenate
SQL select * from DB_Table
where Trunc(Load_Date)=Trunc(Sysdate-2)
3)
You filter on load date in Oracle and in Qlik
In Oracle the filter is on a date (because of trunc); In Qlik you use the timestamp. Perhaps it works; I think it's better to use the same logic (e.g select trunc(Load_Date) as Load_Date in Oracle, so you store a date in qvd and Load_Date >= (today()-14) in Qlik)