<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Incremental issue in QlikView</title>
    <link>https://community.qlik.com/t5/QlikView/Incremental-issue/m-p/214837#M68341</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P style="font-family: Calibri; font-size: 11pt;"&gt;&lt;SPAN lang="en-US"&gt;Hi, I am getting myself familiar with incremental loads , and I found the following "guidelines" in the Qlikview Notes blog ( &lt;/SPAN&gt;&lt;A href="http://qlikviewnotes.blogspot.co.uk/2012/01/incremental-load-using-qlikview.html"&gt;&lt;SPAN lang="es-TRAD"&gt;http://qlikviewnotes.blogspot.co.uk/2012/01/incremental-load-using-qlikview.html&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN lang="en-US"&gt; &lt;span class="lia-unicode-emoji" title=":disappointed_face:"&gt;😞&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-family: Calibri; font-size: 11pt;"&gt;To utilize Incremental Load a source table must have both of the following attributes:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;SPAN style="font-family: Calibri; font-size: 11pt;"&gt;&amp;nbsp; A unique identifier -- a Primary Key -- for each row. &lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;UL&gt;&lt;LI&gt;&lt;SPAN style="font-family: Calibri; font-size: 11pt;"&gt;A "Modification"&amp;nbsp; column that identifies when a row was added or updated. The column type may be a Date, Datetime or ascending Revision number.&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&amp;nbsp; The classic IL logic is this:&amp;nbsp; &lt;/P&gt;&lt;OL style="list-style-type: decimal; font-style: normal; font-family: Calibri; margin-left: 0.375in; font-size: 11pt; font-weight: normal;"&gt;&lt;LI&gt;&lt;SPAN style="font-style: normal; font-family: Calibri; font-size: 11pt; font-weight: normal;"&gt;Determine the "Last reload Time". The most robust technique is to extract the max value for the "Modification" column from the Master QVD.&lt;/SPAN&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;OL style="list-style-type: decimal; font-style: normal; font-family: Calibri; margin-left: 0.375in; font-size: 11pt; font-weight: normal;"&gt;&lt;LI&gt;&lt;SPAN style="font-style: normal; font-family: Calibri; font-size: 11pt; font-weight: normal;"&gt;Select rows from the database table where "Modification" is greater than "Last Reload Time".&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN style="font-family: Calibri; font-size: 11pt;"&gt;Add and update rows in the Master QVD, based on primary key.&lt;/SPAN&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-family: Calibri; font-size: 11pt;"&gt;&lt;SPAN lang="es-TRAD"&gt;﻿&lt;/SPAN&gt;&lt;SPAN lang="en-US"&gt;My situation is as follows : &lt;/SPAN&gt;&lt;/P&gt;&lt;P lang="es-TRAD" style="font-family: Calibri; font-size: 11pt;"&gt;I am trying to setup an incremental load to build a QVD, but my scenario is a bit different. I have multiple excel sheets being stored in a folder ( these are periodic extractions from the same source system, so same fields everytime ), no primary key available ( not at least without building a composite key using several fields...which affects performance seriously..and I disregarded ); also there is not any datestamp column on these files, and the way I manually create a datestamp column is by using part of the file names in the Qview script. So every file stored I name it like : yyyymmdd-abc.xls ( being yyyymmdd the date when I get the extract and store it in the folder ).Then using a "for each a in" ..function I load these files in sequence adding a datestamp field like $(a) as DateStamp. Then all is stored in a QVD file. What I need to accomplish is everytime I do a data reload I need to avoid loading all the xls files again ( and building the whole QVD again )wasting time. I would need the script to only load the newer xls files stored in the folder. Any ideas on how to set it up ? I post attach a diagram with this ETL scenario for clarity&lt;/P&gt;&lt;P lang="es-TRAD" style="font-family: Calibri; font-size: 11pt;"&gt;Thanks a lot&lt;/P&gt;&lt;P lang="es-TRAD" style="font-family: Calibri; font-size: 11pt;"&gt;Enrique&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 12 Sep 2012 10:32:49 GMT</pubDate>
    <dc:creator>quiquehm</dc:creator>
    <dc:date>2012-09-12T10:32:49Z</dc:date>
    <item>
      <title>Incremental issue</title>
      <link>https://community.qlik.com/t5/QlikView/Incremental-issue/m-p/214832#M68336</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I have one question about Incremental loading.&lt;/P&gt;&lt;P&gt;This is from QV help: Insert and Update&lt;A id="Insert_and_Update" name="Insert_and_Update"&gt;&lt;/A&gt;. (No Delete)&lt;/P&gt;&lt;P style="margin-left: 40px; font-weight: bold;"&gt;QV_Table:&lt;/P&gt;&lt;P style="margin-left: 40px; font-weight: bold;"&gt;SQL SELECT PrimaryKey, X, Y FROM DB_TABLE&lt;/P&gt;&lt;P style="margin-left: 40px; font-weight: bold;"&gt;WHERE ModificationTime &amp;gt;= #$(LastExecTime)#;&lt;/P&gt;&lt;P style="margin-left: 40px; font-weight: bold;"&gt;&lt;/P&gt;&lt;P style="margin-left: 40px; font-weight: bold;"&gt;Concatenate LOAD PrimaryKey, X, Y FROM File.QVD&lt;/P&gt;&lt;P style="margin-left: 40px; font-weight: bold;"&gt;WHERE NOT Exists(PrimaryKey);&lt;/P&gt;&lt;P style="margin-left: 40px; font-weight: bold;"&gt;&lt;/P&gt;&lt;P style="margin-left: 40px; font-weight: bold;"&gt;STORE QV_Table INTO File.QVD;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I was wondering what the meaning of WHERE NOT Exists(PrimaryKey); ?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Isaac&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 07 Dec 2010 03:07:35 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Incremental-issue/m-p/214832#M68336</guid>
      <dc:creator />
      <dc:date>2010-12-07T03:07:35Z</dc:date>
    </item>
    <item>
      <title>Incremental issue</title>
      <link>https://community.qlik.com/t5/QlikView/Incremental-issue/m-p/214833#M68337</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Basically it means that it will load rows from File.QVD that have a PrimaryKey that has not been loaded in the previous Load from DB_TABLE.&lt;/P&gt;&lt;P&gt;Regards.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 07 Dec 2010 03:33:52 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Incremental-issue/m-p/214833#M68337</guid>
      <dc:creator>pover</dc:creator>
      <dc:date>2010-12-07T03:33:52Z</dc:date>
    </item>
    <item>
      <title>Incremental issue</title>
      <link>https://community.qlik.com/t5/QlikView/Incremental-issue/m-p/214834#M68338</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;where not exitst(Primary key)&lt;/P&gt;&lt;P&gt;does not allow duplicate data to insert and update thae existing record if changed in source system.&lt;/P&gt;&lt;P&gt;Regards;&lt;/P&gt;&lt;P&gt;Sunil&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 07 Dec 2010 07:47:53 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Incremental-issue/m-p/214834#M68338</guid>
      <dc:creator>suniljain</dc:creator>
      <dc:date>2010-12-07T07:47:53Z</dc:date>
    </item>
    <item>
      <title>Incremental issue</title>
      <link>https://community.qlik.com/t5/QlikView/Incremental-issue/m-p/214835#M68339</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Many thanks for your explanation.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 07 Dec 2010 08:01:38 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Incremental-issue/m-p/214835#M68339</guid>
      <dc:creator />
      <dc:date>2010-12-07T08:01:38Z</dc:date>
    </item>
    <item>
      <title>Incremental issue</title>
      <link>https://community.qlik.com/t5/QlikView/Incremental-issue/m-p/214836#M68340</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you very much indeed!!!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 07 Dec 2010 08:02:14 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Incremental-issue/m-p/214836#M68340</guid>
      <dc:creator />
      <dc:date>2010-12-07T08:02:14Z</dc:date>
    </item>
    <item>
      <title>Re: Incremental issue</title>
      <link>https://community.qlik.com/t5/QlikView/Incremental-issue/m-p/214837#M68341</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P style="font-family: Calibri; font-size: 11pt;"&gt;&lt;SPAN lang="en-US"&gt;Hi, I am getting myself familiar with incremental loads , and I found the following "guidelines" in the Qlikview Notes blog ( &lt;/SPAN&gt;&lt;A href="http://qlikviewnotes.blogspot.co.uk/2012/01/incremental-load-using-qlikview.html"&gt;&lt;SPAN lang="es-TRAD"&gt;http://qlikviewnotes.blogspot.co.uk/2012/01/incremental-load-using-qlikview.html&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN lang="en-US"&gt; &lt;span class="lia-unicode-emoji" title=":disappointed_face:"&gt;😞&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-family: Calibri; font-size: 11pt;"&gt;To utilize Incremental Load a source table must have both of the following attributes:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;SPAN style="font-family: Calibri; font-size: 11pt;"&gt;&amp;nbsp; A unique identifier -- a Primary Key -- for each row. &lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;UL&gt;&lt;LI&gt;&lt;SPAN style="font-family: Calibri; font-size: 11pt;"&gt;A "Modification"&amp;nbsp; column that identifies when a row was added or updated. The column type may be a Date, Datetime or ascending Revision number.&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&amp;nbsp; The classic IL logic is this:&amp;nbsp; &lt;/P&gt;&lt;OL style="list-style-type: decimal; font-style: normal; font-family: Calibri; margin-left: 0.375in; font-size: 11pt; font-weight: normal;"&gt;&lt;LI&gt;&lt;SPAN style="font-style: normal; font-family: Calibri; font-size: 11pt; font-weight: normal;"&gt;Determine the "Last reload Time". The most robust technique is to extract the max value for the "Modification" column from the Master QVD.&lt;/SPAN&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;OL style="list-style-type: decimal; font-style: normal; font-family: Calibri; margin-left: 0.375in; font-size: 11pt; font-weight: normal;"&gt;&lt;LI&gt;&lt;SPAN style="font-style: normal; font-family: Calibri; font-size: 11pt; font-weight: normal;"&gt;Select rows from the database table where "Modification" is greater than "Last Reload Time".&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN style="font-family: Calibri; font-size: 11pt;"&gt;Add and update rows in the Master QVD, based on primary key.&lt;/SPAN&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-family: Calibri; font-size: 11pt;"&gt;&lt;SPAN lang="es-TRAD"&gt;﻿&lt;/SPAN&gt;&lt;SPAN lang="en-US"&gt;My situation is as follows : &lt;/SPAN&gt;&lt;/P&gt;&lt;P lang="es-TRAD" style="font-family: Calibri; font-size: 11pt;"&gt;I am trying to setup an incremental load to build a QVD, but my scenario is a bit different. I have multiple excel sheets being stored in a folder ( these are periodic extractions from the same source system, so same fields everytime ), no primary key available ( not at least without building a composite key using several fields...which affects performance seriously..and I disregarded ); also there is not any datestamp column on these files, and the way I manually create a datestamp column is by using part of the file names in the Qview script. So every file stored I name it like : yyyymmdd-abc.xls ( being yyyymmdd the date when I get the extract and store it in the folder ).Then using a "for each a in" ..function I load these files in sequence adding a datestamp field like $(a) as DateStamp. Then all is stored in a QVD file. What I need to accomplish is everytime I do a data reload I need to avoid loading all the xls files again ( and building the whole QVD again )wasting time. I would need the script to only load the newer xls files stored in the folder. Any ideas on how to set it up ? I post attach a diagram with this ETL scenario for clarity&lt;/P&gt;&lt;P lang="es-TRAD" style="font-family: Calibri; font-size: 11pt;"&gt;Thanks a lot&lt;/P&gt;&lt;P lang="es-TRAD" style="font-family: Calibri; font-size: 11pt;"&gt;Enrique&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 12 Sep 2012 10:32:49 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Incremental-issue/m-p/214837#M68341</guid>
      <dc:creator>quiquehm</dc:creator>
      <dc:date>2012-09-12T10:32:49Z</dc:date>
    </item>
  </channel>
</rss>

