Skip to main content
Announcements
NEW: Seamless Public Data Sharing with Qlik's New Anonymous Access Capability: TELL ME MORE!
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Best Practice question about data loads

If I have a rather large data qvd that has a lot of scripting does the bulk of what I need for many other things to the data and I want to include that in a new document, but that new document doesn't need a lot of the 'extras' that are big and make the document rather large, can I just delete the unused tables in the load script of the new document after the include of the data qvd?  Is that a good way to handle the reuse of the data qvd in other downstream documents (qvws)?

1 Solution

Accepted Solutions
Not applicable
Author

A qvd will only hold one table.  Is it the fields you wish to drop?  In which case, simply comment these fields out of the load script, preventing such fields from even being loaded into your new report qvw.

On the other hand, if you are talking about loading a qvw into another qvw, then one way to handle this is to load the qvw and then drop the relevant tables.  However, a slicker and more efficient approach may be to have the first qvw (which you are loading from) store the relevant tables into qvd themselves, which in turn can be consumed by other qvw's.

In our architecture, we have things called Consol models.  These simply collect numerous qvds and combine them into one logical table via some heavy scripting.  These 'Consolidated' tables are then in turned saved as qvd's which are the source for the reports.  You may want to think about this method, so that you are loading optimized qvds wherever possible, thus optimizing the performance of your reports.

I hope this helps.

Steve

View solution in original post

3 Replies
Not applicable
Author

If I understand it correctly, the Qlikview QVD file already exists? If you just load the QVD file into your Qlikview script, just remove all the fields you don't need and add (if possible) some filters to the data load of the QVD to get only the necessary records. This is one way to size the data.

for example if the qvd Data.qvd contains field 1 to 10:

LOAD [Field 1],

     [Field 2]

FROM [Data\Data.qvd] (qvd)

WHERE [Field 1] > 0;

this will size the data

Not applicable
Author

A qvd will only hold one table.  Is it the fields you wish to drop?  In which case, simply comment these fields out of the load script, preventing such fields from even being loaded into your new report qvw.

On the other hand, if you are talking about loading a qvw into another qvw, then one way to handle this is to load the qvw and then drop the relevant tables.  However, a slicker and more efficient approach may be to have the first qvw (which you are loading from) store the relevant tables into qvd themselves, which in turn can be consumed by other qvw's.

In our architecture, we have things called Consol models.  These simply collect numerous qvds and combine them into one logical table via some heavy scripting.  These 'Consolidated' tables are then in turned saved as qvd's which are the source for the reports.  You may want to think about this method, so that you are loading optimized qvds wherever possible, thus optimizing the performance of your reports.

I hope this helps.

Steve

Not applicable
Author

Yes, it was in fact a qvw file, sorry about that.  Still getting used to the qlikview terminology.  This is a great idea and exactly the kind of thing I was looking for.  I was getting a little bit worried about how we could build on it and have it perform well but this is really the thing that will make it a more usable and re-usable.  Thank you so much!