Qlik Community

QlikView App Dev

Discussion Board for collaboration related to QlikView App Development.

cancel
Showing results for 
Search instead for 
Did you mean: 
qlikdash
Specialist
Specialist

Extracting Data from RDBMS

I have been working with Qlikview desktop only and I want to have an understanding of how things work when your data source is an RDBMS such as Oracle for example. So when you extract the data, you load it by table..? And if you want to optimize the process, you store it into QVD first. So that means every table has to be stored in QVD first if you want to optimize..?

2 Replies
maxgro
MVP
MVP

In Qlik you extract data from a RDBMS using a standard SQL query

from qlik online help

The SQL statement allows you to send an arbitrary SQL command through an ODBC or OLE DB connection. Simply type: SQL followed by the command. Example (The SQL prefix is optional for select statements):

SQL SELECT * from tab1;

After SQL you can use  whatever (not always) valid select statement for your RDBMS. You can select from view,  join, etc....

If you want to change in Qlik the result of your sql, you can add a load before the sql section: the sql section is executed (RDBMS), then the result set is used in the Qlik section (Qlik)

QlikTable:

Load     *;

SQL select * from YourOracleTable;          // or view, ori join, etc...

The output is a Qlik table.

And what about QVD?

When you read few data from the RDBMS, you can always read all the data you need in Qlik.

When the load windows is small for loading all your data you can use QVD to optimize the load time

http://www.quickintelligence.co.uk/qlikview-incremental-load/

http://www.learnallbi.com/incremental-load-in-qlikview-part1/

stevenrtaylor
Creator II
Creator II

The optimized load primarily comes into play if you have a mix of static and dynamic data.

For example, if you need 1 year's worth of data from your RDBMS, but maybe only the last 2 weeks are likely to have changed, you would have the first 11 months stored in QVD format and then query the RDBMS for the rest. This DRASTICALLY reduces load time for the application and speeds up the development cycle significantly as well.