Qlik API Funktionen

Qlik bietet in der Variablen API 2 Funktionen an

  • app.variable.setNumValue()
  • app.variable.setStringValue()

Die folgende Funktion hilft uns dabei und nimmt uns ein wenig arbeit bei der Entscheidung ab, ist der übergebene Wert eine Zahl wird setNumValue() ansonsten die setStringValue() Methode aufgerufen.

function setVariable( name, val, useString = false) {
  if ( !app ) { app = getQlikApp(); }
  if(useString === true) { app.variable.setStringValue(name,val);
  } else {
    if(!isNaN(val)) app.variable.setNumValue(name, parseFloat(val));
    else app.variable.setStringValue(name,val); 
  }
}

 

Änderung 1 in der project.js

require( ["js/qlik"], function ( qlik ) {

  function setVariable( name, val, useString = false) {
    if ( !app ) { app = getQlikApp(); }
    if(useString === true) {  
      app.variable.setStringValue(name,val);
    } else {
      if(!isNaN(val)) 
        app.variable.setNumValue(name, parseFloat(val));
      else 
        app.variable.setStringValue(name,val); 
    }
  }

 

Änderung in der project.html

Um einen Variablen Wert zu setzen benötigen wir 2 weitere HTML Elemente

  • eine inputBox
  • einen Button der beim Drücken den Wert aus der inputBox speichert
<div id="output"> Umsatz: <span class="umsatz"></span></div>
<div id="setVariable">
   aktueller Wert: "<span class="author"></span>" 
   neuer Wert: <input id="varValue" name="varValue" />
   <div id="save" class="meinButton">speichern</div>
</div>
<div id="showHide" class="meinButton">Chart ein-/ausblenden</div>

 

Änderung 2 in der project.js

Hier die Funktion für unseren Speichern Button:

  $('#save').on('click',function(){
    setVariable('Author',$('#varValue').val())
  })

} );

 

Ergebnis:

Sie sollten nach einer Aktualisierung den Namen der Variablen überschreiben können.

 

In diesem Beispiel habe ich den Wert Neu eingegeben. Beachten Sie das dieser Wert nicht in der App gespeichert wird. Es handelt sich hierbei um ein Session Objekt.