<?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 QlikView SQL Incremental load based on Time in QlikView</title>
    <link>https://community.qlik.com/t5/QlikView/QlikView-SQL-Incremental-load-based-on-Time/m-p/1612921#M735880</link>
    <description>&lt;P&gt;Dear All,&lt;/P&gt;&lt;P&gt;I’m working with an SQL DB , trying to do incremental load base on field called “Time” , but looks like logic is not working.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Initial load took around 1:30 HRs and even incremental taking almost same time.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Script:&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Let&lt;/STRONG&gt; vQVDCurrentYear = 'D:\qvdev\IT\Innovation SQL';&lt;BR /&gt;&lt;STRONG&gt;Let&lt;/STRONG&gt; vStart = now();&lt;BR /&gt;&lt;STRONG&gt;Let&lt;/STRONG&gt; vReloadStart = now();&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;if&lt;/STRONG&gt; filesize('$(vQVDCurrentYear)\IOT.qvd') &amp;gt;0&amp;nbsp; &lt;STRONG&gt;then&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&lt;STRONG&gt;trace&lt;/STRONG&gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &lt;STRONG&gt;&lt;EM&gt;$(vQVDCurrentYear)&lt;/EM&gt;&lt;/STRONG&gt;\IOT.qvd&amp;nbsp;&amp;nbsp;&amp;nbsp; ;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp; MAX_TIME:&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&lt;STRONG&gt;load&lt;/STRONG&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;max(Time) as LAST_LOAD_TIME&lt;BR /&gt;&amp;nbsp; from &lt;STRONG&gt;&lt;EM&gt;$(vQVDCurrentYear)&lt;/EM&gt;&lt;/STRONG&gt;\IOT.qvd (qvd);&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&lt;STRONG&gt;let&lt;/STRONG&gt; vLAST_LOAD_TIME =&amp;nbsp; timestamp(peek('LAST_LOAD_TIME',0,'MAX_TIME'));&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp; &lt;STRONG&gt;trace&lt;/STRONG&gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; LAST_LOAD_TIME:&amp;nbsp; &lt;STRONG&gt;&lt;EM&gt;$(vLAST_LOAD_TIME)&lt;/EM&gt;&lt;/STRONG&gt;;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&lt;STRONG&gt;drop&lt;/STRONG&gt; table MAX_TIME;&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;else&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp; &lt;STRONG&gt;LET&lt;/STRONG&gt; vLAST_LOAD_TIME = '$(vStartDate)';&lt;BR /&gt;&amp;nbsp; &lt;STRONG&gt;trace&lt;/STRONG&gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; LAST_LOAD_TIME:&amp;nbsp; &lt;STRONG&gt;&lt;EM&gt;$(vLAST_LOAD_TIME)&lt;/EM&gt;&lt;/STRONG&gt;;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&lt;STRONG&gt;end&lt;/STRONG&gt; &lt;STRONG&gt;if&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;// load new values&lt;BR /&gt;IOT:&lt;BR /&gt;&lt;STRONG&gt;LOAD&lt;/STRONG&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *;&lt;BR /&gt;&lt;STRONG&gt;SQL&lt;/STRONG&gt; SELECT *&lt;BR /&gt;FROM kauiotprodeventdb.iot.ProcessEvent&lt;BR /&gt;WHERE Time &amp;gt; '$(vLAST_LOAD_TIME)'&lt;BR /&gt;AND AssetSignalTag LIKE 'DB2601,REAL%'&lt;BR /&gt;OR AssetSignalTag LIKE 'DB2601,STRING456%'&lt;BR /&gt;OR AssetSignalTag LIKE 'DB2801,W%';&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;// load prior values&lt;BR /&gt;&lt;STRONG&gt;if&lt;/STRONG&gt; filesize('$(vQVDCurrentYear)\IOT.qvd') &amp;gt;0&amp;nbsp; &lt;STRONG&gt;then&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;concatenate(IOT)&lt;BR /&gt;&lt;STRONG&gt;load&lt;/STRONG&gt;&lt;BR /&gt;&amp;nbsp;*&lt;BR /&gt;from &lt;STRONG&gt;&lt;EM&gt;$(vQVDCurrentYear)&lt;/EM&gt;&lt;/STRONG&gt;\IOT.qvd (qvd);&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;end&lt;/STRONG&gt; &lt;STRONG&gt;if&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;// store all values&lt;BR /&gt;&lt;STRONG&gt;store&lt;/STRONG&gt; IOT into &lt;STRONG&gt;&lt;EM&gt;$(vQVDCurrentYear)&lt;/EM&gt;&lt;/STRONG&gt;\IOT.qvd;&lt;BR /&gt;&lt;STRONG&gt;drop&lt;/STRONG&gt; table IOT;&lt;/P&gt;&lt;P&gt;Does anyone has an idea what's wrong here???&lt;/P&gt;&lt;P&gt;Or&amp;nbsp;&lt;/P&gt;&lt;P&gt;Do we have any method to achieve this???&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;AS&lt;/P&gt;</description>
    <pubDate>Sat, 16 Nov 2024 20:15:33 GMT</pubDate>
    <dc:creator>amit_saini</dc:creator>
    <dc:date>2024-11-16T20:15:33Z</dc:date>
    <item>
      <title>QlikView SQL Incremental load based on Time</title>
      <link>https://community.qlik.com/t5/QlikView/QlikView-SQL-Incremental-load-based-on-Time/m-p/1612921#M735880</link>
      <description>&lt;P&gt;Dear All,&lt;/P&gt;&lt;P&gt;I’m working with an SQL DB , trying to do incremental load base on field called “Time” , but looks like logic is not working.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Initial load took around 1:30 HRs and even incremental taking almost same time.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Script:&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Let&lt;/STRONG&gt; vQVDCurrentYear = 'D:\qvdev\IT\Innovation SQL';&lt;BR /&gt;&lt;STRONG&gt;Let&lt;/STRONG&gt; vStart = now();&lt;BR /&gt;&lt;STRONG&gt;Let&lt;/STRONG&gt; vReloadStart = now();&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;if&lt;/STRONG&gt; filesize('$(vQVDCurrentYear)\IOT.qvd') &amp;gt;0&amp;nbsp; &lt;STRONG&gt;then&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&lt;STRONG&gt;trace&lt;/STRONG&gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &lt;STRONG&gt;&lt;EM&gt;$(vQVDCurrentYear)&lt;/EM&gt;&lt;/STRONG&gt;\IOT.qvd&amp;nbsp;&amp;nbsp;&amp;nbsp; ;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp; MAX_TIME:&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&lt;STRONG&gt;load&lt;/STRONG&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;max(Time) as LAST_LOAD_TIME&lt;BR /&gt;&amp;nbsp; from &lt;STRONG&gt;&lt;EM&gt;$(vQVDCurrentYear)&lt;/EM&gt;&lt;/STRONG&gt;\IOT.qvd (qvd);&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&lt;STRONG&gt;let&lt;/STRONG&gt; vLAST_LOAD_TIME =&amp;nbsp; timestamp(peek('LAST_LOAD_TIME',0,'MAX_TIME'));&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp; &lt;STRONG&gt;trace&lt;/STRONG&gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; LAST_LOAD_TIME:&amp;nbsp; &lt;STRONG&gt;&lt;EM&gt;$(vLAST_LOAD_TIME)&lt;/EM&gt;&lt;/STRONG&gt;;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&lt;STRONG&gt;drop&lt;/STRONG&gt; table MAX_TIME;&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;else&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp; &lt;STRONG&gt;LET&lt;/STRONG&gt; vLAST_LOAD_TIME = '$(vStartDate)';&lt;BR /&gt;&amp;nbsp; &lt;STRONG&gt;trace&lt;/STRONG&gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; LAST_LOAD_TIME:&amp;nbsp; &lt;STRONG&gt;&lt;EM&gt;$(vLAST_LOAD_TIME)&lt;/EM&gt;&lt;/STRONG&gt;;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&lt;STRONG&gt;end&lt;/STRONG&gt; &lt;STRONG&gt;if&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;// load new values&lt;BR /&gt;IOT:&lt;BR /&gt;&lt;STRONG&gt;LOAD&lt;/STRONG&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *;&lt;BR /&gt;&lt;STRONG&gt;SQL&lt;/STRONG&gt; SELECT *&lt;BR /&gt;FROM kauiotprodeventdb.iot.ProcessEvent&lt;BR /&gt;WHERE Time &amp;gt; '$(vLAST_LOAD_TIME)'&lt;BR /&gt;AND AssetSignalTag LIKE 'DB2601,REAL%'&lt;BR /&gt;OR AssetSignalTag LIKE 'DB2601,STRING456%'&lt;BR /&gt;OR AssetSignalTag LIKE 'DB2801,W%';&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;// load prior values&lt;BR /&gt;&lt;STRONG&gt;if&lt;/STRONG&gt; filesize('$(vQVDCurrentYear)\IOT.qvd') &amp;gt;0&amp;nbsp; &lt;STRONG&gt;then&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;concatenate(IOT)&lt;BR /&gt;&lt;STRONG&gt;load&lt;/STRONG&gt;&lt;BR /&gt;&amp;nbsp;*&lt;BR /&gt;from &lt;STRONG&gt;&lt;EM&gt;$(vQVDCurrentYear)&lt;/EM&gt;&lt;/STRONG&gt;\IOT.qvd (qvd);&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;end&lt;/STRONG&gt; &lt;STRONG&gt;if&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;// store all values&lt;BR /&gt;&lt;STRONG&gt;store&lt;/STRONG&gt; IOT into &lt;STRONG&gt;&lt;EM&gt;$(vQVDCurrentYear)&lt;/EM&gt;&lt;/STRONG&gt;\IOT.qvd;&lt;BR /&gt;&lt;STRONG&gt;drop&lt;/STRONG&gt; table IOT;&lt;/P&gt;&lt;P&gt;Does anyone has an idea what's wrong here???&lt;/P&gt;&lt;P&gt;Or&amp;nbsp;&lt;/P&gt;&lt;P&gt;Do we have any method to achieve this???&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;AS&lt;/P&gt;</description>
      <pubDate>Sat, 16 Nov 2024 20:15:33 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/QlikView-SQL-Incremental-load-based-on-Time/m-p/1612921#M735880</guid>
      <dc:creator>amit_saini</dc:creator>
      <dc:date>2024-11-16T20:15:33Z</dc:date>
    </item>
    <item>
      <title>Re: QlikView SQL Incremental load based on Time</title>
      <link>https://community.qlik.com/t5/QlikView/QlikView-SQL-Incremental-load-based-on-Time/m-p/1613121#M735881</link>
      <description>&lt;P&gt;Any suggestion Guys??&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;AS&lt;/P&gt;</description>
      <pubDate>Fri, 16 Aug 2019 06:42:23 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/QlikView-SQL-Incremental-load-based-on-Time/m-p/1613121#M735881</guid>
      <dc:creator>amit_saini</dc:creator>
      <dc:date>2019-08-16T06:42:23Z</dc:date>
    </item>
    <item>
      <title>Re: QlikView SQL Incremental load based on Time</title>
      <link>https://community.qlik.com/t5/QlikView/QlikView-SQL-Incremental-load-based-on-Time/m-p/1613357#M735882</link>
      <description>&lt;P&gt;I suggest to repeat it from the beginning and to look within the document-log which part needs how long. Also monitoring the workload of your machine during the execution may give hints to any bottlenecks and/or parallel running tasks.&lt;/P&gt;&lt;P&gt;Beside this your incremental logic on the timestamp might not be working because there are OR conditions within the where-clause - I assume you missed here the appropriate brackets. A check to the number of records would be useful, too.&lt;/P&gt;&lt;P&gt;Another point is your max(Time) generating which could be moved from the start to the end (before dropping IOT) and could be optimized by reading it from the symbol-table and not from the data-table: &lt;A href="https://qlikviewcookbook.com/2013/09/fastest-method-to-read-maxfield-from-a-qvd/" target="_blank" rel="noopener"&gt;fastest-method-to-read-maxfield-from-a-qvd&lt;/A&gt;.&lt;/P&gt;&lt;P&gt;A bit contrary to the last suggestion is not to load the timestamp else splitting it into a date- and a time-field. This will require more efforts to create your where-timestamp again but it may reduce the size of your qvd quite significantely which leads to shorter store-and load-times to the filesystem and may increase the performance overall: &lt;A href="https://community.qlik.com/t5/Qlik-Design-Blog/The-Importance-Of-Being-Distinct/ba-p/1466796" target="_blank" rel="noopener"&gt;The-Importance-Of-Being-Distinct&lt;/A&gt;&lt;/P&gt;&lt;P&gt;- Marcus&lt;/P&gt;</description>
      <pubDate>Fri, 16 Aug 2019 15:28:51 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/QlikView-SQL-Incremental-load-based-on-Time/m-p/1613357#M735882</guid>
      <dc:creator>marcus_sommer</dc:creator>
      <dc:date>2019-08-16T15:28:51Z</dc:date>
    </item>
  </channel>
</rss>

