Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Partial Reload

Hi, everybody!

I have this big file in which I want to add information on a second stage. So I decided to implement for first time PARTIAL RELOAD.

QlikView official Help says about Partial Reload:

"This command executes only load and select statements preceded by a replace or add prefix. Other data tables remain unaffected by the command."

So, what happens:

1) I load data in table INITIAL, afterward I make few RESIDENT LOAD in order to make calculation on various dimensions and finally LOAD everything in table FINAL and afterward I DROP the table INITIAL.

2) With full RELOAD no problems at all

3) PARTIAL LOAD pops up messages for missing table "Table not found" with reference to the INITIAL table. Everywhere in the load scrip I use standard LOAD and SELECT taking data from either SQL, either RESIDENT table INITIAL. No REPLACE or ADD switch, still problem appears.

Any ideas would be greatly appreciated!

Kind regards,

Kalin

PS: As you may understand, after facing this problem I haven't proceeded with adding the desired 2nd LOAD stage at all. I had in mind to add one more data source with option REPLACE ONLY LOAD.

5 Replies
jonathandienst
Partner - Champion III
Partner - Champion III

Hi

Just a couple if thoughts

You will need an Add or Replace prefix on your initial table and an Add prefix on your final table. Be careful that the columns in the Initial and Final tables are not the same, otherwise QV autoconcatenation may come into play.

You can conditionally change the processing using IsPartialReload() system property.

If IsPartialReload() Then

... do some partial reload processing

Else

.. do full reload processing

End If

HTH

Jonathan

Logic will get you from a to b. Imagination will take you everywhere. - A Einstein
Not applicable
Author

Dear Jonathan, thanks for your quick reply.

As I say in my PS I have not even reached the design of partial load where I wanted to add TBL-2ND-STAGE.

I have a well working file where I use standard LOAD, RESIDENT and DROP TBL commands to manage my INITIAL table and to get the FINAL one. I've just tested the command "File/Partial Reload" to see what happens.

Since I don't have in my code any REPLACE/ADD switches I supposed that QV will do nothing. Instead, it popped me up with these error message which I don't know how to interpret.

Regards,

Kalin

jonathandienst
Partner - Champion III
Partner - Champion III

Kalin

QV does not do nothing in a partial reload. The script executes normally except that LOADs without ADD or REPLACE are skipped. So if you are trying to access the initial table (which does not exist), you will get an error. Although, if this is being caused in a LOAD statement (ie LOAD .. resident...) without the prefix then that would be strange.

HTH

Jonathan

Logic will get you from a to b. Imagination will take you everywhere. - A Einstein
Not applicable
Author

Well, this is exactly what I am saying: It is strange !

In fact the message comes not in the load of the FINAL table, but in the following interim table:

LEFT JOIN (INITIAL)

LOAD

sum(a) as asum,

sum(b) as bsum,

if(c<1,'Yes','No') as c

resident INTERIM group by c;

drop table INTERIM;

Is it possible that the use of SUM and IF activates SOMETHING during the partial load?!?

jonathandienst
Partner - Champion III
Partner - Champion III

Perhaps QV interprets the LEFT JOIN first (before the LOAD) and errors because INITIAL does not exist. It only checks for the ADD/REPLACE after that.  I don't think that its the Sum and If are causing the problem. Comment them out and try running the script - I would expect the same error.

Logic will get you from a to b. Imagination will take you everywhere. - A Einstein