<?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 EasyQlik QViewer - viewer for QVD files in QlikView</title>
    <link>https://community.qlik.com/t5/QlikView/EasyQlik-QViewer-viewer-for-QVD-files/m-p/727905#M1056237</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt; &lt;DIV class="jive-sitepreview"&gt; &lt;DIV class="jive-snapshot-viewbox"&gt; &lt;DIV&gt; &lt;P style="font-weight: bold;"&gt; &lt;A href="http://easyqlik.com/download.html" target="_blank"&gt;EasyQlik QViewer - viewer for QVD files&lt;/A&gt; &lt;/P&gt; &lt;/DIV&gt; &lt;/DIV&gt; &lt;/DIV&gt; &lt;/BLOCKQUOTE&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;DIV&gt;What is Use of Incremental Load?&lt;BR /&gt;&lt;/DIV&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;DIV&gt; &lt;P style="font-size: 11px; color: #3778C7; font-style: italic; margin-top: 10px;"&gt;Shared with &lt;A _jive_internal="true" href="https://community.qlik.com/tools-eapis.jspa"&gt;Jive Anywhere&lt;/A&gt;&lt;/P&gt; &lt;/DIV&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;DIV style="visibility:hidden; height: 0px; font-size: 0;"&gt;http://easyqlik.com/download.html&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Oct 2014 07:00:02 GMT</pubDate>
    <dc:creator>raviityou</dc:creator>
    <dc:date>2014-10-15T07:00:02Z</dc:date>
    <item>
      <title>EasyQlik QViewer - viewer for QVD files</title>
      <link>https://community.qlik.com/t5/QlikView/EasyQlik-QViewer-viewer-for-QVD-files/m-p/727905#M1056237</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt; &lt;DIV class="jive-sitepreview"&gt; &lt;DIV class="jive-snapshot-viewbox"&gt; &lt;DIV&gt; &lt;P style="font-weight: bold;"&gt; &lt;A href="http://easyqlik.com/download.html" target="_blank"&gt;EasyQlik QViewer - viewer for QVD files&lt;/A&gt; &lt;/P&gt; &lt;/DIV&gt; &lt;/DIV&gt; &lt;/DIV&gt; &lt;/BLOCKQUOTE&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;DIV&gt;What is Use of Incremental Load?&lt;BR /&gt;&lt;/DIV&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;DIV&gt; &lt;P style="font-size: 11px; color: #3778C7; font-style: italic; margin-top: 10px;"&gt;Shared with &lt;A _jive_internal="true" href="https://community.qlik.com/tools-eapis.jspa"&gt;Jive Anywhere&lt;/A&gt;&lt;/P&gt; &lt;/DIV&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;DIV style="visibility:hidden; height: 0px; font-size: 0;"&gt;http://easyqlik.com/download.html&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Oct 2014 07:00:02 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/EasyQlik-QViewer-viewer-for-QVD-files/m-p/727905#M1056237</guid>
      <dc:creator>raviityou</dc:creator>
      <dc:date>2014-10-15T07:00:02Z</dc:date>
    </item>
    <item>
      <title>Re: EasyQlik QViewer - viewer for QVD files</title>
      <link>https://community.qlik.com/t5/QlikView/EasyQlik-QViewer-viewer-for-QVD-files/m-p/727906#M1056238</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Please find this Presentation which will have very good background about incremental load and also its variations.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please mark this post as Answered if this helps&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Chaitanya&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Oct 2014 17:37:04 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/EasyQlik-QViewer-viewer-for-QVD-files/m-p/727906#M1056238</guid>
      <dc:creator>ychaitanya</dc:creator>
      <dc:date>2014-10-15T17:37:04Z</dc:date>
    </item>
    <item>
      <title>Re: EasyQlik QViewer - viewer for QVD files</title>
      <link>https://community.qlik.com/t5/QlikView/EasyQlik-QViewer-viewer-for-QVD-files/m-p/727907#M1056239</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;to reduce data transfer and the time to transfer the data from the source (usually a database) to Qlik&lt;/P&gt;&lt;P&gt;how is possible? In incremental load Qlik reads from the source only changed (modified) data; not changed data are read from qvd files previously stored.&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;Qlik reads qvd files more quickly than data from a database.&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;Copied from Qlik online help&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;H1&gt;&lt;A name="kanchor965"&gt;&lt;/A&gt;Using QVD Files for Incremental Load&lt;/H1&gt;&lt;P&gt;Incremental load is a very common task in relation to data bases. It is defined as loading nothing but new or changed records from the database. All other data should already be available, in one way or another. With &lt;A class="MCXref_0"&gt;&lt;EM&gt;QVD Files&lt;/EM&gt;&lt;/A&gt; it is possible to perform incremental load in most cases. &lt;/P&gt;&lt;P&gt;The basic process is described below:&lt;/P&gt;&lt;P&gt;1. Load the &lt;SPAN style="color: #ffffff; background-color: #ff0000;"&gt;new data&lt;/SPAN&gt; from Database table (a slow process, but loading a limited number of records). &lt;/P&gt;&lt;P&gt;2. Load the &lt;SPAN style="background-color: #008080;"&gt;old data&lt;/SPAN&gt; from QVD file (loading many records, but a much faster process). &lt;/P&gt;&lt;P&gt;3. Create a new QVD file. &lt;/P&gt;&lt;P&gt;4. Repeat the procedure for every table loaded. &lt;/P&gt;&lt;P&gt;&lt;IMG border="0" class="jiveImage" style="border-style: none;" /&gt; &lt;/P&gt;&lt;P&gt;The complexity of the actual solution depends on the nature of the source database, but the following basic cases can be identified:&lt;/P&gt;&lt;P&gt;1) &lt;A class="MCXref_0" href="https://community.qlik.com/"&gt;&lt;EM&gt;Case 1: Append Only&lt;/EM&gt;&lt;/A&gt; (typically log files &lt;/P&gt;&lt;P&gt;2) &lt;A class="MCXref_0" href="https://community.qlik.com/"&gt;&lt;EM&gt;Case 2: Insert Only (No Update or Delete)&lt;/EM&gt;&lt;/A&gt; &lt;/P&gt;&lt;P&gt;3) &lt;A class="MCXref_0" href="https://community.qlik.com/"&gt;&lt;EM&gt;Case 3: Insert and Update (No Delete)&lt;/EM&gt;&lt;/A&gt; &lt;/P&gt;&lt;P&gt;4) &lt;A class="MCXref_0" href="https://community.qlik.com/"&gt;&lt;EM&gt;Case 4: Insert, Update and Delete&lt;/EM&gt;&lt;/A&gt; &lt;/P&gt;&lt;P&gt;Below you will find outlined solutions for each of these cases. The reading of QVD files can be done in either optimized mode or standard mode. (The method employed is automatically selected by the QlikView script engine depending on the complexity of the operation.) Optimized mode is (very approximately) about 10x faster than standard mode or about 100x faster than loading the database in the ordinary fashion. &lt;/P&gt;&lt;H3&gt;&lt;A name="kanchor966"&gt;&lt;/A&gt;&lt;A name="Append_only"&gt;&lt;/A&gt;Case 1: Append Only&lt;/H3&gt;&lt;P&gt;The simplest case is the one of log files; files in which records are only appended and never deleted. The following conditions apply:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt; The database must be a log file (or some other file in which records are appended and not inserted or deleted) which is contained in a text file (no ODBC/OLE DB).&amp;nbsp; &lt;/LI&gt;&lt;LI&gt; QlikView keeps track of the number of records that have been previously read and loads only records added at the end of the file. &lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;IMG border="0" class="jiveImage" style="border-style: none;" /&gt; &lt;/P&gt;&lt;P class="example"&gt;Script Example:&lt;/P&gt;&lt;P class="Code"&gt;Buffer (Incremental) Load * From LogFile.txt (ansi, txt, delimiter is '\t', embedded labels);&lt;/P&gt;&lt;H3&gt;&lt;A name="kanchor967"&gt;&lt;/A&gt;&lt;A name="Insert_only"&gt;&lt;/A&gt;Case 2: Insert Only (No Update or Delete)&lt;/H3&gt;&lt;P&gt;If the data resides in a database other than a simple log file the case 1 approach will not work. However, the problem can still be solved with minimum amount of extra work. The following conditions apply:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt; The data source can be any database.&amp;nbsp; &lt;/LI&gt;&lt;LI&gt; QlikView loads records inserted in the database after the last script execution.&amp;nbsp; &lt;/LI&gt;&lt;LI&gt; A field ModificationDate (or similar) is required for QlikView to recognize which records are new. &lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;IMG border="0" class="jiveImage" style="border-style: none;" /&gt; &lt;/P&gt;&lt;P class="example"&gt;Script Example:&lt;/P&gt;&lt;P class="Code"&gt;&lt;SPAN style="font-style: italic;"&gt;QV_Table&lt;/SPAN&gt;:&lt;/P&gt;&lt;P class="Code"&gt;SQL SELECT PrimaryKey, X, Y FROM DB_TABLE&lt;/P&gt;&lt;P class="Code"&gt;WHERE ModificationTime &amp;gt;= #$(LastExecTime)#&lt;/P&gt;&lt;P class="Code"&gt;AND ModificationTime &amp;lt; #$(BeginningThisExecTime)#;&lt;/P&gt;&lt;P class="Code"&gt;&lt;/P&gt;&lt;P class="Code"&gt;Concatenate LOAD PrimaryKey, X, Y FROM File.QVD;&lt;/P&gt;&lt;P class="Code"&gt;STORE QV_Table INTO File.QVD;&lt;/P&gt;&lt;P&gt;(The hash signs in the SQL WHERE clause define the beginning and end of a date. Check your database manual for the correct date syntax for your database.)&lt;/P&gt;&lt;H3&gt;&lt;A name="kanchor968"&gt;&lt;/A&gt;&lt;A name="Insert_and_Update"&gt;&lt;/A&gt;Case 3: Insert and Update (No Delete)&lt;/H3&gt;&lt;P&gt;The next case is applicable when data in previously loaded records may have changed between script executions. The following conditions apply:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt; The data source can be any database.&amp;nbsp; &lt;/LI&gt;&lt;LI&gt; QlikView loads records inserted into the database or updated in the database after the last script execution &lt;/LI&gt;&lt;LI&gt; A field ModificationDate (or similar) is required for QlikView to recognize which records are new.&amp;nbsp; &lt;/LI&gt;&lt;LI&gt; A primary key field is required for QlikView to sort out updated records from the QVD file.&amp;nbsp; &lt;/LI&gt;&lt;LI&gt; This solution will force the reading of the QVD file to standard mode (rather than optimized), which is still considerably faster than loading the entire database. &lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;IMG border="0" class="jiveImage" style="border-style: none;" /&gt; &lt;/P&gt;&lt;P class="example"&gt;Script Example:&lt;/P&gt;&lt;P class="Code"&gt;&lt;SPAN style="font-style: italic;"&gt;QV_Table&lt;/SPAN&gt;:&lt;/P&gt;&lt;P class="Code"&gt;SQL SELECT PrimaryKey, X, Y FROM DB_TABLE&lt;/P&gt;&lt;P class="Code"&gt;WHERE ModificationTime &amp;gt;= #$(LastExecTime)#;&lt;/P&gt;&lt;P class="Code"&gt;&lt;/P&gt;&lt;P class="Code"&gt;Concatenate LOAD PrimaryKey, X, Y FROM File.QVD&lt;/P&gt;&lt;P class="Code"&gt;WHERE NOT Exists(PrimaryKey);&lt;/P&gt;&lt;P class="Code"&gt;&lt;/P&gt;&lt;P class="Code"&gt;STORE QV_Table INTO File.QVD;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;H3&gt;&lt;A name="kanchor969"&gt;&lt;/A&gt;&lt;A name="Insert__Update_and_Delete"&gt;&lt;/A&gt;Case 4: Insert, Update and Delete&lt;/H3&gt;&lt;P&gt;The most difficult case to handle is when records are actually deleted from the source database between script executions. The following conditions apply: &lt;/P&gt;&lt;UL&gt;&lt;LI&gt; The data source can be any database.&amp;nbsp; &lt;/LI&gt;&lt;LI&gt; QlikView loads records inserted into the database or updated in the database after the last script execution.&amp;nbsp; &lt;/LI&gt;&lt;LI&gt; QlikView removes records deleted from the database after the last script execution.&amp;nbsp; &lt;/LI&gt;&lt;LI&gt; A field ModificationDate (or similar) is required for QlikView to recognize which records are new.&amp;nbsp; &lt;/LI&gt;&lt;LI&gt; A primary key field is required for QlikView to sort out updated records from the QVD file.&amp;nbsp; &lt;/LI&gt;&lt;LI&gt; This solution will force the reading of the QVD file to standard mode (rather than optimized), which is still considerably faster than loading the entire database. &lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;IMG border="0" class="jiveImage" style="border-style: none;" /&gt; &lt;/P&gt;&lt;P class="example"&gt;Script Example:&lt;/P&gt;&lt;P class="Code"&gt;Let ThisExecTime = Now( ); &lt;/P&gt;&lt;P class="Code"&gt;&lt;/P&gt;&lt;P class="Code"&gt;&lt;SPAN style="font-style: italic;"&gt;QV_Table&lt;/SPAN&gt;:&lt;/P&gt;&lt;P class="Code"&gt;SQL SELECT PrimaryKey, X, Y FROM DB_TABLE&lt;/P&gt;&lt;P class="Code"&gt;WHERE ModificationTime &amp;gt;= #$(LastExecTime)#&lt;/P&gt;&lt;P class="Code"&gt;AND ModificationTime &amp;lt; #$(ThisExecTime)#;&lt;/P&gt;&lt;P class="Code"&gt;&lt;/P&gt;&lt;P class="Code"&gt;Concatenate LOAD PrimaryKey, X, Y FROM File.QVD&lt;/P&gt;&lt;P class="Code"&gt;WHERE NOT EXISTS(PrimaryKey);&lt;/P&gt;&lt;P class="Code"&gt;&lt;/P&gt;&lt;P class="Code"&gt;Inner Join SQL SELECT PrimaryKey FROM DB_TABLE;&lt;/P&gt;&lt;P class="Code"&gt;&lt;/P&gt;&lt;P class="Code"&gt;If ScriptErrorCount = 0 then &lt;/P&gt;&lt;P class="Code"&gt;STORE QV_Table INTO File.QVD;&lt;/P&gt;&lt;P class="Code"&gt;Let LastExecTime = ThisExecTime; &lt;/P&gt;&lt;P class="Code"&gt;End If&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="color: #808080;"&gt;&lt;SPAN class="PrimaryQVRelease"&gt;QlikView 11.20 SR6&lt;/SPAN&gt; &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Oct 2014 17:49:39 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/EasyQlik-QViewer-viewer-for-QVD-files/m-p/727907#M1056239</guid>
      <dc:creator>maxgro</dc:creator>
      <dc:date>2014-10-15T17:49:39Z</dc:date>
    </item>
  </channel>
</rss>

