<?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: Hypercube callback after every selection in Integration, Extension &amp; APIs</title>
    <link>https://community.qlik.com/t5/Integration-Extension-APIs/Hypercube-callback-after-every-selection/m-p/1394735#M8460</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hey there!&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;This sounds really good and straightforward to make some generic functions across a mashup. I'll look deep into it and post here if solves my issue, with my code as well &lt;IMG src="https://community.qlik.com/legacyfs/online/emoticons/happy.png" /&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks Erik!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 07 Nov 2017 16:30:10 GMT</pubDate>
    <dc:creator>thpessato</dc:creator>
    <dc:date>2017-11-07T16:30:10Z</dc:date>
    <item>
      <title>Hypercube callback after every selection</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Hypercube-callback-after-every-selection/m-p/1394731#M8456</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P style="font-size: 13.3333px;"&gt;Hello all,&lt;/P&gt;&lt;P style="font-size: 13.3333px;"&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333px;"&gt;I'm creating a mashup using hypercube.&lt;/P&gt;&lt;P style="font-size: 13.3333px;"&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333px;"&gt;I'm trying to use a hypercube to get value 'Year', from a expression using the Qlik Engine. After that, I want to make an automatic selection on the field 'Year'.&lt;/P&gt;&lt;P style="font-size: 13.3333px;"&gt;&lt;BR /&gt;So ok, my hypercube is working and calling my callback function. Then I set my selection on the right field. And it works.&lt;/P&gt;&lt;P style="font-size: 13.3333px;"&gt;&lt;BR /&gt;But I realized that the callback function keeps getting called after every selection made on the mashup. Since my data doesn't change, I don't want it to happen. It's unecessary.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I managed this issue by:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333px;"&gt;&lt;STRONG&gt;1. Placing a flag like:&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333px;"&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333px;"&gt;var hypercubeDone = false;&lt;/P&gt;&lt;P style="font-size: 13.3333px;"&gt;function callback(reply, app) {&lt;/P&gt;&lt;P style="font-size: 13.3333px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(hypercube) {&lt;/P&gt;&lt;P style="font-size: 13.3333px;"&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; return;&lt;/P&gt;&lt;P style="font-size: 13.3333px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P style="font-size: 13.3333px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // do some stuff&lt;/P&gt;&lt;P style="font-size: 13.3333px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hypercubeDone = true;&lt;BR /&gt;}&lt;/P&gt;&lt;P style="font-size: 13.3333px;"&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333px;"&gt;in my JavaScript file.&lt;/P&gt;&lt;P style="font-size: 13.3333px;"&gt;&lt;SPAN style="font-size: 13.3333px;"&gt;But that doesn't solve my problem of calling this method multiple times. So I tried another solution...&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333px;"&gt;&lt;STRONG&gt;2. Destroying the hypercube after the call:&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333px;"&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333px;"&gt;But don't know if this is a good practice. So I tried to find another way.&lt;/P&gt;&lt;P style="font-size: 13.3333px;"&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333px;"&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333px;"&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333px;"&gt;I don't want this to happen, since it is not necessary. Is there a right way to prevent this?&lt;/P&gt;&lt;P style="font-size: 13.3333px;"&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333px;"&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333px;"&gt;Thanks!!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 01 Nov 2017 16:21:53 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Hypercube-callback-after-every-selection/m-p/1394731#M8456</guid>
      <dc:creator>thpessato</dc:creator>
      <dc:date>2017-11-01T16:21:53Z</dc:date>
    </item>
    <item>
      <title>Re: Hypercube callback after every selection</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Hypercube-callback-after-every-selection/m-p/1394732#M8457</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;You could use evaluate &lt;A href="http://help.qlik.com/en-US/sense-developer/September2017/Subsystems/EngineAPI/Content/Classes/AppClass/App-class-Evaluate-method.htm" title="http://help.qlik.com/en-US/sense-developer/September2017/Subsystems/EngineAPI/Content/Classes/AppClass/App-class-Evaluate-method.htm"&gt;Evaluate method ‒ Qlik Sense&lt;/A&gt; instead.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Erik Wetterberg&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 01 Nov 2017 16:34:30 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Hypercube-callback-after-every-selection/m-p/1394732#M8457</guid>
      <dc:creator>ErikWetterberg</dc:creator>
      <dc:date>2017-11-01T16:34:30Z</dc:date>
    </item>
    <item>
      <title>Re: Hypercube callback after every selection</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Hypercube-callback-after-every-selection/m-p/1394733#M8458</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Using hypercube, I can get a different callback for each expression, but with 'Evaluate' I can't, since it's a WebSocket and the only event I get from sending a request is&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ws.onmessage = function(){};&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Ideal would be if there's something like&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ws.send(JSON.stringify(expressionData), function(response){&lt;BR /&gt;&amp;nbsp; console.log("hey, this is the response: ", response);&lt;BR /&gt;});&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Should a lot of ifs or switch/case inside onmessage = "" or there is another way to do this?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 07 Nov 2017 15:33:31 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Hypercube-callback-after-every-selection/m-p/1394733#M8458</guid>
      <dc:creator>thpessato</dc:creator>
      <dc:date>2017-11-07T15:33:31Z</dc:date>
    </item>
    <item>
      <title>Re: Hypercube callback after every selection</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Hypercube-callback-after-every-selection/m-p/1394734#M8459</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;You should get hold of the enigmaModel, which has an evaluate method defined that returns a promise. Basically enigmajs wraps all QIX methods this way, and so solves the problem of connecting request and response for you.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In an extension it would be something like:&lt;/P&gt;&lt;P&gt;model.enigmaModel.app.evaluate('1+1').then(function(reply){&lt;/P&gt;&lt;P&gt;&amp;nbsp; console.log(reply);&lt;/P&gt;&lt;P&gt;})&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Haven't tried in a mashup, but something like:&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333px;"&gt;app&lt;/SPAN&gt;.enigmaModel.evaluate('1+1').then(function(reply){&lt;/P&gt;&lt;P&gt;&amp;nbsp; console.log(reply);&lt;/P&gt;&lt;P&gt;})&lt;/P&gt;&lt;P&gt;You might need to use the console to find the object that has the evaluate method defined.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope this helps&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Erik Wetterberg&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 07 Nov 2017 16:06:49 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Hypercube-callback-after-every-selection/m-p/1394734#M8459</guid>
      <dc:creator>ErikWetterberg</dc:creator>
      <dc:date>2017-11-07T16:06:49Z</dc:date>
    </item>
    <item>
      <title>Re: Hypercube callback after every selection</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Hypercube-callback-after-every-selection/m-p/1394735#M8460</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hey there!&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;This sounds really good and straightforward to make some generic functions across a mashup. I'll look deep into it and post here if solves my issue, with my code as well &lt;IMG src="https://community.qlik.com/legacyfs/online/emoticons/happy.png" /&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks Erik!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 07 Nov 2017 16:30:10 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Hypercube-callback-after-every-selection/m-p/1394735#M8460</guid>
      <dc:creator>thpessato</dc:creator>
      <dc:date>2017-11-07T16:30:10Z</dc:date>
    </item>
    <item>
      <title>Re: Hypercube callback after every selection</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Hypercube-callback-after-every-selection/m-p/1394736#M8461</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Checked this up: if you use qlik.js (AKA capability api's, mashup API) to open the app, you will find the enigmaModel at app.model.enigmaModel.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So the call will be:&lt;/P&gt;&lt;P&gt;app.model.enigmaModel.evaluate('1+1').then(function(reply){&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; console.log("evaluated:",reply);&lt;/P&gt;&lt;P&gt;});&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope this helps&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Erik Wetterberg&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 08 Nov 2017 12:54:14 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Hypercube-callback-after-every-selection/m-p/1394736#M8461</guid>
      <dc:creator>ErikWetterberg</dc:creator>
      <dc:date>2017-11-08T12:54:14Z</dc:date>
    </item>
    <item>
      <title>Re: Hypercube callback after every selection</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Hypercube-callback-after-every-selection/m-p/1394737#M8462</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;This is just great for front end development. Thanks for the tip!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 Nov 2017 12:47:26 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Hypercube-callback-after-every-selection/m-p/1394737#M8462</guid>
      <dc:creator>thpessato</dc:creator>
      <dc:date>2017-11-10T12:47:26Z</dc:date>
    </item>
    <item>
      <title>Re: Hypercube callback after every selection</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Hypercube-callback-after-every-selection/m-p/1394738#M8463</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Just use the promise instead of the callback.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;app.createCube({&lt;/P&gt;&lt;P&gt;&amp;nbsp; // stuff&lt;/P&gt;&lt;P&gt;}, function(layout) { //this is the callback, just dont use it })&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;instead do this&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;app.createCube({&lt;/P&gt;&lt;P&gt; // stuff&lt;/P&gt;&lt;P&gt;}).then(function(object) { // here you'll get the object, which has layout on it, and this will only run once })&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 Nov 2017 14:10:59 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Hypercube-callback-after-every-selection/m-p/1394738#M8463</guid>
      <dc:creator>Francis_Kabinoff</dc:creator>
      <dc:date>2017-11-10T14:10:59Z</dc:date>
    </item>
    <item>
      <title>Re: Hypercube callback after every selection</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Hypercube-callback-after-every-selection/m-p/1394739#M8464</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Francis,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;How can I retrieve the value of the expression in the promise ?&lt;/P&gt;&lt;P&gt;What code should I write ?&lt;/P&gt;&lt;P&gt;When I look at the "object" in the chrome debug, I don't find the value of the expression.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;app.createCube({&lt;/P&gt;&lt;P&gt;&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; {&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;&amp;nbsp;&amp;nbsp; "qHeight": 20,&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;&amp;nbsp;&amp;nbsp; "qWidth": 1&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; ],&lt;/P&gt;&lt;P&gt;&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; "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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "qDef": {&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "qDef": "max({$&amp;lt;[Year Month]={$(=maxstring([Year Month]))}&amp;gt;}Month)"&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "qLabel": "GetPlatform",&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;&amp;nbsp;&amp;nbsp; "qLibraryId": null,&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;&amp;nbsp;&amp;nbsp; "qSortBy": {&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "qSortByState": 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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "qSortByFrequency": 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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "qSortByNumeric": 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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "qSortByAscii": 1,&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "qSortByLoadOrder": 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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "qSortByExpression": 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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "qExpression": {&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "qv": " "&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;&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;&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;&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;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "qSuppressZero": false,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "qSuppressMissing": false,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "qMode": "S",&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "qInterColumnSortOrder": [],&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "qStateName": "$"&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }).then(function(object) {&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;&amp;nbsp;&amp;nbsp; // here you'll get the object, which has layout on it, and this will only run once &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; &lt;STRONG&gt;What shoul I do write here ?&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks !&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Paul&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 07 Dec 2017 16:18:33 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Hypercube-callback-after-every-selection/m-p/1394739#M8464</guid>
      <dc:creator>paulcalvet</dc:creator>
      <dc:date>2017-12-07T16:18:33Z</dc:date>
    </item>
    <item>
      <title>Re: Hypercube callback after every selection</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Hypercube-callback-after-every-selection/m-p/1394740#M8465</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Paul,&lt;/P&gt;&lt;P&gt;Don't use a Hypoercube if you only want one expression evaluated, use a &lt;A href="http://help.qlik.com/en-US/sense-developer/November2017/Subsystems/EngineAPI/Content/Structs/ValueExpression.htm"&gt;ValueExpression &lt;/A&gt;instead. Also note that createCube will create a subscription, so the expression will be recalculated when there are changes in selection state that affects the result. By using the promise instead of the callback you will not be notified, by the calculation will be made anyhow. Evaluate is really better for a one-time calculation.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope this helps&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Erik Wetterberg&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 08 Dec 2017 06:05:35 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Hypercube-callback-after-every-selection/m-p/1394740#M8465</guid>
      <dc:creator>ErikWetterberg</dc:creator>
      <dc:date>2017-12-08T06:05:35Z</dc:date>
    </item>
    <item>
      <title>Re: Hypercube callback after every selection</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Hypercube-callback-after-every-selection/m-p/1394741#M8466</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks Erik,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I want to select the last month available when the user open the mashup.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I use the app.field function to do this :&lt;/P&gt;&lt;P&gt;app.field('Month').selectValues([11], false, true);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I try with this code, but it doesn't work...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;app.createGenericObject( {&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; fields: {&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; qValueExpression:{"qExpr":"=max({$&amp;lt;[Year Month]={$(=maxstring([Year Month]))}&amp;gt;}Month)"}&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;&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;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }).then (function ( object ) {&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; var str = object.fields;&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; app.field('Month').selectValues([str], false, true);&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; console.log(str);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Paul&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 08 Dec 2017 08:58:19 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Hypercube-callback-after-every-selection/m-p/1394741#M8466</guid>
      <dc:creator>paulcalvet</dc:creator>
      <dc:date>2017-12-08T08:58:19Z</dc:date>
    </item>
    <item>
      <title>Re: Hypercube callback after every selection</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Hypercube-callback-after-every-selection/m-p/1394742#M8467</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;Try this:&lt;/P&gt;&lt;PRE __default_attr="javascript" __jive_macro_name="code" class="jive_macro_code _jivemacro_uid_15127238865812144 jive_text_macro" jivemacro_uid="_15127238865812144"&gt;
&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;app.model.enigmaModel.evaluate('&lt;SPAN style="color: #3d3d3d; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 13px;"&gt;max({$&amp;lt;[Year Month]={$(=maxstring([Year Month]))}&amp;gt;}Month)&lt;/SPAN&gt;').then(function(reply){&lt;/P&gt;
&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; console.log("evaluated:",reply);&lt;/P&gt;
&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&lt;SPAN style="color: #3d3d3d; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 13px;"&gt;app.field('Month').selectValues([str], false, true);&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;});&lt;/P&gt;

&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope this helps&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Erik Wetterberg&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 08 Dec 2017 09:06:32 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Hypercube-callback-after-every-selection/m-p/1394742#M8467</guid>
      <dc:creator>ErikWetterberg</dc:creator>
      <dc:date>2017-12-08T09:06:32Z</dc:date>
    </item>
    <item>
      <title>Re: Hypercube callback after every selection</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Hypercube-callback-after-every-selection/m-p/1394743#M8468</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Sorry, pretty difficult to edit those javascript snippet: it should of course say reply, not str in line 3. You also might need to convert string to number, not sure if the reply will be a string or number.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope this helps&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Erik Wetterberg&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 08 Dec 2017 09:09:57 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Hypercube-callback-after-every-selection/m-p/1394743#M8468</guid>
      <dc:creator>ErikWetterberg</dc:creator>
      <dc:date>2017-12-08T09:09:57Z</dc:date>
    </item>
    <item>
      <title>Re: Hypercube callback after every selection</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Hypercube-callback-after-every-selection/m-p/1394744#M8469</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Ok, if I wa&lt;SPAN style="font-size: 13.3333px;"&gt;nt to use &lt;/SPAN&gt;&lt;SPAN style="color: #000000; font-family: Consolas, 'Courier New', Courier, mono, serif; font-size: 12px;"&gt;app.model.enigmaModel.evaluate &lt;/SPAN&gt;I need to load enigma.js before.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Is it possible to do this without enigma.js ?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Paul&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 08 Dec 2017 09:22:13 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Hypercube-callback-after-every-selection/m-p/1394744#M8469</guid>
      <dc:creator>paulcalvet</dc:creator>
      <dc:date>2017-12-08T09:22:13Z</dc:date>
    </item>
    <item>
      <title>Re: Hypercube callback after every selection</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Hypercube-callback-after-every-selection/m-p/1394745#M8470</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Erik,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I found the solution.&lt;/P&gt;&lt;P&gt;The value returned by the function is in Object.layout&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;app.createGenericObject( {&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; year : {&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;&amp;nbsp;&amp;nbsp; qValueExpression: "=max({$&amp;lt;[Year Month]={\"$(=maxstring([Year Month]))\"}&amp;gt;}Year)"&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;&amp;nbsp;&amp;nbsp; month: {&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;&amp;nbsp;&amp;nbsp; qValueExpression: "=max({$&amp;lt;[Year Month]={\"$(=maxstring([Year Month]))\"}&amp;gt;}Month)"&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; }).then(function ( Object ) {&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; app.field('Month').selectValues([Object.layout.month], false, true);&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; app.field('Year').selectValues([Object.layout.year], false, true);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Many thanks !!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 08 Dec 2017 16:19:43 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Hypercube-callback-after-every-selection/m-p/1394745#M8470</guid>
      <dc:creator>paulcalvet</dc:creator>
      <dc:date>2017-12-08T16:19:43Z</dc:date>
    </item>
    <item>
      <title>Re: Hypercube callback after every selection</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Hypercube-callback-after-every-selection/m-p/1523752#M9738</link>
      <description>&lt;P&gt;Hi I am totally new to mashups,&amp;nbsp;&lt;BR /&gt;I have a business requirement where i am creating mashup from two different Apps( few objects from each app on single page ) and want selection from one app to be propagated to another without any CreateList function , more like qliksense does for a single app.&lt;BR /&gt;Is there any way to do that ?&lt;/P&gt;</description>
      <pubDate>Mon, 24 Dec 2018 12:26:59 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Hypercube-callback-after-every-selection/m-p/1523752#M9738</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2018-12-24T12:26:59Z</dc:date>
    </item>
  </channel>
</rss>

