Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hi all,
I have a small doubt. When we do incremental load for fact table, will it be always full load? or incremental load
if it is a incremental load, since we don't have any updated date field how do we perform incremental load.
Can any one tell me how to proceed with this.
Regards,
Kumar
Sorry, I don't really understand your question, could you detail it a bit more?
Do you already know how an incremental LOAD approach is working? Using a historic QVD?
Hi swuhel,
I have a fact table called orders and in that I don't have any date field. How to do a incremental load for this fact. Is it as same with like dimension table. or is it daily full load.
What is the source of your fact table? A file? Then you can maybe use a BUFFER LOAD prefix.
If it's a data base: Is there anything that can be used to determine new values? Like an auto-incremented OrderID?
If you want to do incremental loading then you have write code in the script that makes this happen. Qlikview will not automagically do incremental loading. And to make incremental loading possible your source data needs to have a field that can be used to determine which records have been added or changed since the last reload. Usually that's a date or timestamp field. It can also be a revision field that increases with each update. If you don't have any such field then you will have to compare the entire source table with the historical table stored in a qvd. In that case you might as well do a full load. See these blog posts for more information:
http://www.quickintelligence.co.uk/qlikview-incremental-load/
Incremental Load using Qlikview Components | Qlikview Cookbook
If the fact table is called "Orders", it is likely that has a order_id or order_number field which value is incremental. In that case, I recomend you to use it to limit the load for the fields on the next load, something like this:
// the first time you run this, you will have to manually define the value of the variable to avoid errors
// set vMaxOrderN =0;
Orders:
LOAD order_id,
item_descr,
item_descr
//include other fields here
FROM source_file.csv (txt)
where order_id > '$(vMaxOrderN)';
let vMaxOrderN = max('order_id');
// Whenever you want to make a full reload, just reset vMaxOrderN =0
As Swuehl mentioned, we can use Buffer Load, if no update field exists in database table.
Thanks Gysbert for sharing links. I am not able to understand pls provide me sample code for fact table as incremental load.
read the blog posts.
My source is oracle data base.