<?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: Very large fact table divided in very large QVDs: is it better a implicit concatenate or an explicit concatenate? in App Development</title>
    <link>https://community.qlik.com/t5/App-Development/Very-large-fact-table-divided-in-very-large-QVDs-is-it-better-a/m-p/2514448#M105503</link>
    <description>&lt;P&gt;I would expect no significantly difference in the run-times because it's always a loop-approach regardless if it's performed with an implicit syntax or an explicit ones. The iterations and/or the variable-evaluating should not be noticeable against the loads itself.&lt;/P&gt;&lt;P&gt;Personally I prefer the explicit approach but I wouldn't take this for-loop and also not setting the concatenate-statement else using:&lt;/P&gt;&lt;P&gt;for each file in filelist('FullPathWithPattern')&lt;BR /&gt;&amp;nbsp; &amp;nbsp;t: load F1, F2, F3, ... from [$(file)] (qvd);&lt;BR /&gt;next&lt;/P&gt;&lt;P&gt;Most important will be to ensure that the loads are optimized which means all files have the identically data-structure and no transformations are applied - unless a single where exists() is allowed.&lt;/P&gt;</description>
    <pubDate>Tue, 15 Apr 2025 14:17:35 GMT</pubDate>
    <dc:creator>marcus_sommer</dc:creator>
    <dc:date>2025-04-15T14:17:35Z</dc:date>
    <item>
      <title>Very large fact table divided in very large QVDs: is it better a implicit concatenate or an explicit concatenate?</title>
      <link>https://community.qlik.com/t5/App-Development/Very-large-fact-table-divided-in-very-large-QVDs-is-it-better-a/m-p/2514429#M105501</link>
      <description>&lt;P&gt;Hypothetical case. Imagine a very big fact table (more than a billion rows). The data is in QVDs divided by years. For example:&lt;/P&gt;&lt;P&gt;FACT_2015.qvd&lt;BR /&gt;FACT_2016.qvd&lt;BR /&gt;FACT_2017.qvd&lt;BR /&gt;etc&lt;/P&gt;&lt;P&gt;Each qvd has about 20 fields and the average size is 200 MB.&lt;/P&gt;&lt;P&gt;To load them we have two methods&lt;BR /&gt;First an implicit concatenate (pseudo code):&lt;/P&gt;&lt;P&gt;FACT:&lt;BR /&gt;load * from FACT_*.qvd&lt;/P&gt;&lt;P&gt;or an explicit concatenate (always pseudo code)&lt;/P&gt;&lt;P&gt;set Firstyear=2015&lt;BR /&gt;set LastYear=2025&lt;/P&gt;&lt;P&gt;for i=$(Firstyear) to $(LastYear)&lt;BR /&gt;if i=$(Firstyear) then&lt;BR /&gt;set vTable='FACT:'&lt;BR /&gt;else&lt;BR /&gt;set vTable='Concatenate (FACT)'&lt;BR /&gt;end if&lt;/P&gt;&lt;P&gt;$(vTable)&lt;BR /&gt;load * from FACT_$(i).qvd&lt;/P&gt;&lt;P&gt;next&lt;/P&gt;&lt;P&gt;In terms of loading speed, would the two methods be equivalent or is one better than the other? I don't have data of this size at the moment, so I wanted to know if anyone had already done some tests in this sense &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 15 Apr 2025 12:25:56 GMT</pubDate>
      <guid>https://community.qlik.com/t5/App-Development/Very-large-fact-table-divided-in-very-large-QVDs-is-it-better-a/m-p/2514429#M105501</guid>
      <dc:creator>p_zaccheddu</dc:creator>
      <dc:date>2025-04-15T12:25:56Z</dc:date>
    </item>
    <item>
      <title>Re: Very large fact table divided in very large QVDs: is it better a implicit concatenate or an explicit concatenate?</title>
      <link>https://community.qlik.com/t5/App-Development/Very-large-fact-table-divided-in-very-large-QVDs-is-it-better-a/m-p/2514448#M105503</link>
      <description>&lt;P&gt;I would expect no significantly difference in the run-times because it's always a loop-approach regardless if it's performed with an implicit syntax or an explicit ones. The iterations and/or the variable-evaluating should not be noticeable against the loads itself.&lt;/P&gt;&lt;P&gt;Personally I prefer the explicit approach but I wouldn't take this for-loop and also not setting the concatenate-statement else using:&lt;/P&gt;&lt;P&gt;for each file in filelist('FullPathWithPattern')&lt;BR /&gt;&amp;nbsp; &amp;nbsp;t: load F1, F2, F3, ... from [$(file)] (qvd);&lt;BR /&gt;next&lt;/P&gt;&lt;P&gt;Most important will be to ensure that the loads are optimized which means all files have the identically data-structure and no transformations are applied - unless a single where exists() is allowed.&lt;/P&gt;</description>
      <pubDate>Tue, 15 Apr 2025 14:17:35 GMT</pubDate>
      <guid>https://community.qlik.com/t5/App-Development/Very-large-fact-table-divided-in-very-large-QVDs-is-it-better-a/m-p/2514448#M105503</guid>
      <dc:creator>marcus_sommer</dc:creator>
      <dc:date>2025-04-15T14:17:35Z</dc:date>
    </item>
    <item>
      <title>Re: Very large fact table divided in very large QVDs: is it better a implicit concatenate or an explicit concatenate?</title>
      <link>https://community.qlik.com/t5/App-Development/Very-large-fact-table-divided-in-very-large-QVDs-is-it-better-a/m-p/2514572#M105535</link>
      <description>&lt;P&gt;Thanks. My other curiosity is that implicit concatenation obviously only works if there are the same fields on all QVDs. So I suppose that QS must do this check before saying "Ok, they are the same, let's concatenate them!". If I explicitly use the prefix "concatenate", wouldn't it be like telling QS "Ok, don't worry, concatenate them without doing checks"? I don't know if this leads to an actual time saving, I'm thinking of situations with a lot of QVDs or similar.&lt;/P&gt;</description>
      <pubDate>Wed, 16 Apr 2025 09:07:47 GMT</pubDate>
      <guid>https://community.qlik.com/t5/App-Development/Very-large-fact-table-divided-in-very-large-QVDs-is-it-better-a/m-p/2514572#M105535</guid>
      <dc:creator>p_zaccheddu</dc:creator>
      <dc:date>2025-04-16T09:07:47Z</dc:date>
    </item>
    <item>
      <title>Re: Very large fact table divided in very large QVDs: is it better a implicit concatenate or an explicit concatenate?</title>
      <link>https://community.qlik.com/t5/App-Development/Very-large-fact-table-divided-in-very-large-QVDs-is-it-better-a/m-p/2514579#M105537</link>
      <description>&lt;P&gt;Without specifying an explicit concatenate(MyTable) statement only tables with the identical data-structure are merged. If the tables have a different data-structure you will mandatory need the explicit statement. But different data-structures will break the optimized load - and this should be avoided by larger data-set.&lt;/P&gt;</description>
      <pubDate>Wed, 16 Apr 2025 09:50:11 GMT</pubDate>
      <guid>https://community.qlik.com/t5/App-Development/Very-large-fact-table-divided-in-very-large-QVDs-is-it-better-a/m-p/2514579#M105537</guid>
      <dc:creator>marcus_sommer</dc:creator>
      <dc:date>2025-04-16T09:50:11Z</dc:date>
    </item>
  </channel>
</rss>

