0 Replies Latest reply: Jun 1, 2011 7:19 AM by londonukm RSS

    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