<?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: Set Analysis performance in App Development</title>
    <link>https://community.qlik.com/t5/App-Development/Set-Analysis-performance/m-p/1612357#M45557</link>
    <description>&lt;P&gt;I haven't tested it, neither I know what algorithm qlik engine exactly follows at the back-end. I would only say that if there is any chance of differences between them, it could be negligible and the &lt;STRONG&gt;faster (if at all) should be the first one&lt;/STRONG&gt;.&lt;/P&gt;&lt;P&gt;Now let me explain why: the first expression filters are of AND nature, i.e. - SalesOffice exclusion and JobTitle inclusion have to be true for the same record (because they are part of same set element - separated by comma). Whereas, in second expression the filters are independent. That means, for first expression there is a scope of filtering one data set and then implying the second one on that limited data set - so search time becomes a little less here. In second expression the two filters are independent hence the filters would be applied separately&amp;nbsp; on the entire data set, taking longer time.&lt;/P&gt;</description>
    <pubDate>Wed, 14 Aug 2019 11:23:37 GMT</pubDate>
    <dc:creator>tresB</dc:creator>
    <dc:date>2019-08-14T11:23:37Z</dc:date>
    <item>
      <title>Set Analysis performance</title>
      <link>https://community.qlik.com/t5/App-Development/Set-Analysis-performance/m-p/1612335#M45549</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;Can anyone suggest if there would be, over a larger dataset, a difference in the performance between these two sample expressions:&lt;/P&gt;&lt;P&gt;&lt;FONT&gt;1) &amp;nbsp; &amp;nbsp;&amp;nbsp; Count({1&amp;lt;SalesOffice-={'Lund'}, JobTitle={"Systems Manager"}&amp;gt;}DISTINCT EmployeeID)&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT&gt;2) &amp;nbsp; &amp;nbsp; &amp;nbsp;Count({1&amp;lt;JobTitle={"Systems Manager"}&amp;gt;-&amp;lt;SalesOffice={'Lund'}&amp;gt;}DISTINCT EmployeeID)&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;Any resources you can recommend about calculation performance would be welcome too.&lt;/P&gt;&lt;P&gt;Thank you in advance!&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Vitali Burla&lt;/P&gt;</description>
      <pubDate>Sat, 16 Nov 2024 04:58:25 GMT</pubDate>
      <guid>https://community.qlik.com/t5/App-Development/Set-Analysis-performance/m-p/1612335#M45549</guid>
      <dc:creator>Vitali</dc:creator>
      <dc:date>2024-11-16T04:58:25Z</dc:date>
    </item>
    <item>
      <title>Re: Set Analysis performance</title>
      <link>https://community.qlik.com/t5/App-Development/Set-Analysis-performance/m-p/1612357#M45557</link>
      <description>&lt;P&gt;I haven't tested it, neither I know what algorithm qlik engine exactly follows at the back-end. I would only say that if there is any chance of differences between them, it could be negligible and the &lt;STRONG&gt;faster (if at all) should be the first one&lt;/STRONG&gt;.&lt;/P&gt;&lt;P&gt;Now let me explain why: the first expression filters are of AND nature, i.e. - SalesOffice exclusion and JobTitle inclusion have to be true for the same record (because they are part of same set element - separated by comma). Whereas, in second expression the filters are independent. That means, for first expression there is a scope of filtering one data set and then implying the second one on that limited data set - so search time becomes a little less here. In second expression the two filters are independent hence the filters would be applied separately&amp;nbsp; on the entire data set, taking longer time.&lt;/P&gt;</description>
      <pubDate>Wed, 14 Aug 2019 11:23:37 GMT</pubDate>
      <guid>https://community.qlik.com/t5/App-Development/Set-Analysis-performance/m-p/1612357#M45557</guid>
      <dc:creator>tresB</dc:creator>
      <dc:date>2019-08-14T11:23:37Z</dc:date>
    </item>
    <item>
      <title>Re: Set Analysis performance</title>
      <link>https://community.qlik.com/t5/App-Development/Set-Analysis-performance/m-p/1612412#M45576</link>
      <description>&lt;P&gt;These are my thoughts exactly, I'm just looking for confirmation (hopefully! &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt; )&lt;/P&gt;</description>
      <pubDate>Wed, 14 Aug 2019 12:42:54 GMT</pubDate>
      <guid>https://community.qlik.com/t5/App-Development/Set-Analysis-performance/m-p/1612412#M45576</guid>
      <dc:creator>Vitali</dc:creator>
      <dc:date>2019-08-14T12:42:54Z</dc:date>
    </item>
    <item>
      <title>Re: Set Analysis performance</title>
      <link>https://community.qlik.com/t5/App-Development/Set-Analysis-performance/m-p/1612517#M45597</link>
      <description>&lt;P&gt;Like Tresesco I don't know how it's internally processed and I agree completely with his first paragraph. But by the second paragraph I believe the way of working is rather reversed.&lt;/P&gt;&lt;P&gt;AFAIK a set analysis is (nearly) the same like a selection. In the first example I think both conditions will be executed in parallel (I assume it in multi-threading) returning TRUE or FALSE for the values in the appropriate fields respectively the system-tables. Afterwards the engine builds the scope respectively a virtual table on the which the real aggregation is applied. In the second example the conditions are chained and they might be executed one after another (in this simple case it might not be needed but in general are more complex and even nested chains possible which may require an additionally evaluating).&lt;/P&gt;&lt;P&gt;Beside this by larger datasets it might worth to test if one or maybe several flags within the script might be improve the UI performance, for example with:&lt;/P&gt;&lt;P&gt;&lt;FONT&gt;Count({1&amp;lt; EmployeeFlag ={1}&amp;gt;} DISTINCT EmployeeID) or Count({1} DISTINCT EmployeeID) * EmployeeFlag&lt;BR /&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT&gt;And of course will the kind of the datamodel have an impact on the performance of the UI calculations.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT&gt;- Marcus&lt;/FONT&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 14 Aug 2019 15:13:35 GMT</pubDate>
      <guid>https://community.qlik.com/t5/App-Development/Set-Analysis-performance/m-p/1612517#M45597</guid>
      <dc:creator>marcus_sommer</dc:creator>
      <dc:date>2019-08-14T15:13:35Z</dc:date>
    </item>
    <item>
      <title>Re: Set Analysis performance</title>
      <link>https://community.qlik.com/t5/App-Development/Set-Analysis-performance/m-p/1612877#M45620</link>
      <description>&lt;P&gt;Hello Markus,&lt;/P&gt;&lt;P&gt;Thank you very much for your input - I very much appreciate it. Well, I guess I'll just have to try this on a larger dataset, once I come across one.&lt;/P&gt;&lt;P&gt;Thanks once again.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Regards,&lt;/P&gt;&lt;P&gt;Vitali&lt;/P&gt;</description>
      <pubDate>Thu, 15 Aug 2019 13:27:09 GMT</pubDate>
      <guid>https://community.qlik.com/t5/App-Development/Set-Analysis-performance/m-p/1612877#M45620</guid>
      <dc:creator>Vitali</dc:creator>
      <dc:date>2019-08-15T13:27:09Z</dc:date>
    </item>
  </channel>
</rss>

