Qlik Community

QlikView Scripting

Discussion Board for collaboration on QlikView Scripting.

Not applicable

Best Practice - QVD/QVW Loading data

Hi,

I was just wondering if someone could confirm to me the best practices for loading data into a Qlikview application. My understanding is that it is best to load each individual table into a separate QVD and the import those into the final Qlikview applications as required. For example if I have a query that returns a dataset for me in Oracle like this:

select

    d.deal_id                      DTRANSACTIONID,

    fd.field_id                     DFIELDID,

    d.deal_legal_name     DTRANSACTIONNAME,

    fd.label             DFIELDNAME,

    mp.period_id         DPERIODID,

    mp.period_date         DFULLPERIODDATE,

    trim(da.value_)     DFIELDVALUE,

    d.geo_segment         DGEOSEGMENT,

    d.CNTRY_NM             DCOUNTRYOFASSETS,

    d.business_group     DBUSINESSGROUP,

    d.mrkt_sctr_lvl_2     DMRKTSCTR

from   

    esf.report_deal d,

    esf.data da,

    esf.deal ed,

    esf.model_field mf,

    esf.model_period mp,

    esf.field_defn fd

where ed.deal_id = da.object_id

and d.deal_id = ed.deal_id

and ed.model_id = mf.model_id

and ed.model_id = mp.model_id

and da.field_id = mf.field_id

and da.period_id = mp.period_id

and fd.field_id = mf.field_id

and fd.label not like 'P-%'

order by d.deal_legal_name, mf.sort_order, mp.period_date;

The then best approach would be to import each of the individual tables into their own QVD files and then load those QVD files as required into my subsequent QVW applications e.g:

ReportDeal:

LOAD

     deal_id               PRIMARYID,

     deal_legal_name,

     geo_segment,

     CNTRY_NM,

     business_group,

     mrkt_sctr_lvl_2

FROM ReportDeal.qvd (qvd);

ReportData:

LOAD

     object_id          PRIMARYID,

     field_id,

     period_id,

     value_

FROM ReportData.qvd (qvd);

etc etc.

As long as the columns in the different tables are given the same names where joins should occur then these will be handled by Qlikview and the relationship between the two tables would be established via those same name columns (PRIMARYID above).

I also understand that the advantage of having the QVD's split out this way is that the data is loaded quicker into the QVW and therefore makes the user experience quicker and more efficient. I have read that the server could then be configured to update individual QVD files at different frequencies according to the requirements of the data and that it is possible to perform incremental updates to individual QVD files, so that only data that has changed is actually uploaded to the QVD dramatically reducing the time taken to update those files. If anyone is able to explain those areas in more detail as well as confirming the best practice for loading data into QVW that would be great.

Many Thanks

Graham

Tags (4)
Community Browser