Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
ALERT: QlikView server communication interruptions following Microsoft Windows Domain Controller security updates
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Incremental Load Scenario:Monthly Stacked QVDs

Hi,

I just wanna ask how to perform this kind of scenario in Incremental Load:

IncLoad.png

Attached is the one that I followed in creating Incremental Load (Thanks to Mr.

Rob Wunderlich Rob Wunderlich

and his QV cookbook)

Labels (1)
6 Replies
Not applicable
Author

up!

Not applicable
Author

There's not really a remarkable difference when loading the the separate QVDs into the QVW over loading a huge single one. When it is about grabbing SQL data, incremental load it is a large time saver. Of course its much more time saving to load the last day or month and store it into a QVD file than it would be loading the whole data table on every reload - assuming a large data table in sql

Not applicable
Author

Sir, your answer didn't help me at all..

Not applicable
Author

Oh sorry, i completely misread your question and thought you'd ask for the performance.

I checked your demo file and it seems correct except the inner join statement in the Incremental Load tab and the table tab seems to be futile.

Not applicable
Author

why is it incorrect? the inner joins there handles deleted data. the table that i loaded there is just for example purposes.

Thanks!

Not applicable
Author

Ah ok, because of my own practice i did not expect a sql table where data gets completely deleted. We got state flags. In your case this is of course correct.

If you want to store the QVDs per month you have to split the loaded data. If not just ignore the below code

MonthTable:

load year(dss_update_time)&num(Month(dss_update_time),00) as UserMonth,

sum(1) as FlagField

resident $(vTableName)

group by year(dss_update_time)&num(Month(dss_update_time),00);

for i=0 to NoOfRows('UserMonth')-1

let vUserMonth = peek('UserMonth', $(i), UserMonth);

UserPerMonth:

Noconcatenate load *

resident $(vTableName)

where year(dss_update_time)&num(Month(dss_update_time),00) = '$(vUserMonth)'

;

if(FileSize('$(vQvdPath)' & '$(vQvdName)'&'$(vUserMonth)') > 0, -1, 0);

Concatenate(UserPerMonth)

LOAD *

From $(vQvdPath)$(vQvdName)$(vUserMonth) (qvd)

    Where not Exists($(vPK));

---Join Statement---

Store UserPerMonth into $(vQvdPath)$(vQvdName)$(vUserMonth);

drop table UserPerMonth;

next;

drop table $(vTableName);

drop table MonthTable;

exit script;

please disregard any syntax errors