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

Announcements
Discover how organizations are unlocking new revenue streams: Watch here
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Loading and QVD

Hi, experts please help me.

i am using incremental load in my Application.

Q1) How i can identify whether my data is updated or Not.

with out any changes/Updated refresh the data is waste of time. Is there any way to Know that our data is updated/changed

in Source data.

Q2) In my Data base i have data, But Qlikview have "In memory Analysis" that means store the data into the RAM.

My Question is: Once we loaded the Files into the script it is automatically loaded the data into RAM or else is there any

other ways to load the data into the RAM Manually.

Q3)Suppose I Have a file with 100MB, i created a QVD for this i will Compressed. How much percent of compression have done while create QVD. Suppose 100MB data Compressed into 90MB, But my Client want to compress in 80MB is there any such possibilities to compress



PLEASE HELP ME.

1 Solution

Accepted Solutions
Gysbert_Wassenaar
Partner - Champion III
Partner - Champion III

1. If you don't keep track of changes in your database, for example using a modified_date field, then you need to compare each field of the record from the database with the records from the qvd. You can create a hash field when you load the data from the database and store this in the qvd. When you later load records from the database you can calculate the hash values for the records and compare these with the hash values from the qvd. You can find information about the hash128, hash160 and hash256 functions in the help file.

2. When you run the script of a qlikview document the load statements will load data into the in-memory database. There's also a possibility to update or add data using Dynamic Update actions.

3. Qvd's are not compressed. Qvw documents can be compressed. You can choose from several levels of compression, but not percentages. See the Compression option on the Save tab of the User Preferences window. See this blog post for more information about Qlikview's in-memory database: Symbol Tables and Bit-Stuffed Pointers


talk is cheap, supply exceeds demand

View solution in original post

3 Replies
Gysbert_Wassenaar
Partner - Champion III
Partner - Champion III

1. If you don't keep track of changes in your database, for example using a modified_date field, then you need to compare each field of the record from the database with the records from the qvd. You can create a hash field when you load the data from the database and store this in the qvd. When you later load records from the database you can calculate the hash values for the records and compare these with the hash values from the qvd. You can find information about the hash128, hash160 and hash256 functions in the help file.

2. When you run the script of a qlikview document the load statements will load data into the in-memory database. There's also a possibility to update or add data using Dynamic Update actions.

3. Qvd's are not compressed. Qvw documents can be compressed. You can choose from several levels of compression, but not percentages. See the Compression option on the Save tab of the User Preferences window. See this blog post for more information about Qlikview's in-memory database: Symbol Tables and Bit-Stuffed Pointers


talk is cheap, supply exceeds demand
stevedark
Partner Ambassador/MVP
Partner Ambassador/MVP

Hi Shan,

Ideally the source system will have written Date Last Updated values on each row in the database.  This can then be used for incremental load (in conjunction with a unique key for WHERE EXISTS).  If you do have such a field then see if you can get the developers or database administrators to add one.  If you are unable to get the tables themselves modified then you may be able to ask for a Database Trigger to be created - that writes a row to a separate table when any data is Updated or Inserted.  This separate table can then be used for incremental load.

Regarding compression data stored in QVD or QVW will typically be much smaller than in other file types (such as XLS or CSV).  As Gysbert says you can not change the compression on a QVD.  What you can do is optimise your data so that you have fewer distinct values in each field - there is much written on line on how to do this, but one simple way is writing numbers - if you round numbers to 2dp there are many fewer possible distinct values than if you round numbers to 6dp or not at all.

Hope that helps.


Steve

aveeeeeee7en
Specialist III
Specialist III

Answer 1: a) Count the Number of Line Items increasing or decreasing in a Text Box after Reload. eg. Count(Distinct IDs).

               b) Check the size of the qvd after Incremental Load.

               c) Use Timestamp Function and keep track of Modified Dates.

               d) Pick maximum Timestamp.

               e) Go through this link: Incremental Load Help??

________________________________________________________________________________________________________________

Answer 2: Qlikview is a In-Memory Tool. There might be some other ways to load the data into the RAM Manually as Gysbert Wassenaar said.

________________________________________________________________________________________________________________

Answer 3: Go to Edit Script. Instead of doing Reload, click Debug and check the Limited Load Button and enter the number of lines you have to fetch,the size of the Qvd will change or Compress according to the number entered. Please see the Debug Image for this.

May be this can help you in any ways.

Regards

Aviral