<?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 Qliksense Extension - Calculation out of memory error in Integration, Extension &amp; APIs</title>
    <link>https://community.qlik.com/t5/Integration-Extension-APIs/Qliksense-Extension-Calculation-out-of-memory-error/m-p/1329964#M7497</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi together,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;we build an extension based on the usecase to draw a network explorer graph.&lt;/P&gt;&lt;P&gt;Our network has a high volume of data (approximately 2 Million).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So to avoid that we load all the data in the extension we tried different approaches:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Set a calculation condition through the dataHandling addon to reduce the amount of data.&lt;BR /&gt;It is working fine with this approach&lt;/LI&gt;&lt;/UL&gt;&lt;PRE __default_attr="javascript" __jive_macro_name="code" class="jive_macro_code _jivemacro_uid_14912252009948582 jive_text_macro" jivemacro_uid="_14912252009948582"&gt;
&lt;P&gt;addons: {&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; uses: "addons",&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; items: {&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dataHandling: {&lt;/P&gt;
&lt;P&gt;&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; uses: "dataHandling"&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;

&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Now we would like to test the scenario where we would like to handle this scenario in a programmatic way.&lt;BR /&gt;We did following steps for testing purpose:&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;Set the data load to 0 for the Initial Fetch&lt;/LI&gt;&lt;/OL&gt;&lt;PRE __default_attr="javascript" __jive_macro_name="code" class="jive_macro_code _jivemacro_uid_14912254126925902 jive_text_macro" jivemacro_uid="_14912254126925902"&gt;
&lt;P&gt;initialProperties: {&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; selectionMode : "CONFIRM",&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; version: 1.0,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; qHyperCubeDef: {&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; qDimensions: [],&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; qMeasures: [],&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; qInitialDataFetch: [{&lt;/P&gt;
&lt;P&gt;&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; qWidth: 0,&lt;/P&gt;
&lt;P&gt;&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; qHeight: 0&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }]&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; },&lt;/P&gt;

&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;Created a generic object for the calculation condition =&amp;gt; GetPossibleCount(Fieldx) = 1&lt;/LI&gt;&lt;LI&gt;If this condition fails an entry&amp;nbsp; screen should be shown&lt;/LI&gt;&lt;LI&gt;If the condition is meet retrieve the Data from the QIX Engine and the network explorer should be rendered&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The Code is working fine, the problem is that when i setup my extension with my Dimensions + DimensionInfo (Custom Attribute Expression) and Measure + MeasureInfo (Custom Attribute Expression) the extension tries to refresh itself and then a calculation memory error appears. It does not happen if no Custom Attribute Expressions are defined.&lt;BR /&gt;What happens at this point? I miss something here?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Is the Extension trying to load the data behind the scenes for my Custom Attributes Expression? &lt;BR /&gt;As follow the log entries when only partial Custom Attributes are defined, in fact no data is retrieven.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;IMG __jive_id="158699" alt="Error_1.PNG" class="jive-image image-1" height="627" src="https://community.qlik.com/legacyfs/online/158699_Error_1.PNG" style="height: 627px; width: 495.173px;" width="495" /&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This happens when I try to setup all my custom attribute expressions on my Dimensions.&lt;BR /&gt;What the Qlikengine is trying to do here ? &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;BR /&gt;How we can simulate the datahandling addon in a correct way?&lt;BR /&gt;&lt;IMG __jive_id="158700" alt="Error_2.PNG" class="jive-image image-2" height="314" src="https://community.qlik.com/legacyfs/online/158700_Error_2.PNG" style="height: 314.692px; width: 499px;" width="499" /&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks for your support!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Patric&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 03 Apr 2017 13:38:22 GMT</pubDate>
    <dc:creator>pamaxeed</dc:creator>
    <dc:date>2017-04-03T13:38:22Z</dc:date>
    <item>
      <title>Qliksense Extension - Calculation out of memory error</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Qliksense-Extension-Calculation-out-of-memory-error/m-p/1329964#M7497</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi together,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;we build an extension based on the usecase to draw a network explorer graph.&lt;/P&gt;&lt;P&gt;Our network has a high volume of data (approximately 2 Million).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So to avoid that we load all the data in the extension we tried different approaches:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Set a calculation condition through the dataHandling addon to reduce the amount of data.&lt;BR /&gt;It is working fine with this approach&lt;/LI&gt;&lt;/UL&gt;&lt;PRE __default_attr="javascript" __jive_macro_name="code" class="jive_macro_code _jivemacro_uid_14912252009948582 jive_text_macro" jivemacro_uid="_14912252009948582"&gt;
&lt;P&gt;addons: {&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; uses: "addons",&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; items: {&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dataHandling: {&lt;/P&gt;
&lt;P&gt;&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; uses: "dataHandling"&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;

&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Now we would like to test the scenario where we would like to handle this scenario in a programmatic way.&lt;BR /&gt;We did following steps for testing purpose:&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;Set the data load to 0 for the Initial Fetch&lt;/LI&gt;&lt;/OL&gt;&lt;PRE __default_attr="javascript" __jive_macro_name="code" class="jive_macro_code _jivemacro_uid_14912254126925902 jive_text_macro" jivemacro_uid="_14912254126925902"&gt;
&lt;P&gt;initialProperties: {&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; selectionMode : "CONFIRM",&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; version: 1.0,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; qHyperCubeDef: {&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; qDimensions: [],&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; qMeasures: [],&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; qInitialDataFetch: [{&lt;/P&gt;
&lt;P&gt;&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; qWidth: 0,&lt;/P&gt;
&lt;P&gt;&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; qHeight: 0&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }]&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; },&lt;/P&gt;

&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;Created a generic object for the calculation condition =&amp;gt; GetPossibleCount(Fieldx) = 1&lt;/LI&gt;&lt;LI&gt;If this condition fails an entry&amp;nbsp; screen should be shown&lt;/LI&gt;&lt;LI&gt;If the condition is meet retrieve the Data from the QIX Engine and the network explorer should be rendered&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The Code is working fine, the problem is that when i setup my extension with my Dimensions + DimensionInfo (Custom Attribute Expression) and Measure + MeasureInfo (Custom Attribute Expression) the extension tries to refresh itself and then a calculation memory error appears. It does not happen if no Custom Attribute Expressions are defined.&lt;BR /&gt;What happens at this point? I miss something here?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Is the Extension trying to load the data behind the scenes for my Custom Attributes Expression? &lt;BR /&gt;As follow the log entries when only partial Custom Attributes are defined, in fact no data is retrieven.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;IMG __jive_id="158699" alt="Error_1.PNG" class="jive-image image-1" height="627" src="https://community.qlik.com/legacyfs/online/158699_Error_1.PNG" style="height: 627px; width: 495.173px;" width="495" /&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This happens when I try to setup all my custom attribute expressions on my Dimensions.&lt;BR /&gt;What the Qlikengine is trying to do here ? &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;BR /&gt;How we can simulate the datahandling addon in a correct way?&lt;BR /&gt;&lt;IMG __jive_id="158700" alt="Error_2.PNG" class="jive-image image-2" height="314" src="https://community.qlik.com/legacyfs/online/158700_Error_2.PNG" style="height: 314.692px; width: 499px;" width="499" /&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks for your support!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Patric&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 03 Apr 2017 13:38:22 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Qliksense-Extension-Calculation-out-of-memory-error/m-p/1329964#M7497</guid>
      <dc:creator>pamaxeed</dc:creator>
      <dc:date>2017-04-03T13:38:22Z</dc:date>
    </item>
  </channel>
</rss>

