Dynamische Formeln sind nichts anderes als Formel welche eine Bedingung enthalten. Um eine dynamische Formel zu erzeugen haben Sie zwei Möglichkeiten: 

  • if else Anweisung
  • Set Analysis

if else Variante

Hierzu benötigen wir folgende Variablen:

  • rangeValue1
  • rangeValue2
  • sumLineSalesAmount Inhalt: sum([Umsatz pro Bestellzeile])
  • rangeConditionStatement

Unser dynamische Formel (siehe Spalte 2 Bild unten) sieht wie folgt aus:

if($(sumLineSalesAmount) > rangeValue1 and $(sumLineSalesAmount) < rangeValue2, 
$(sumLineSalesAmount))

Damit das ganze später durch den Endanwender nutzbar ist, müssen wir noch einen Schiebregler erstellen. Dieser wird dann mit den Variablen rangeValue1 und rangeValue2 verknüpft.

Da wir in der Regel nicht nur eine Spalte in unseren Diagrammen benötigen, macht es Sinn die obige Bedingung in eine Variable auszulagern.


if($1 > rangeValue1 and $1 < rangeValue2, 
$2)

Damit in Qlik Sense die Zeilen ausgeblendet werden müssen Sie bei der Tabelle unter Addons > Datenverarbeitung  „Null Werte einschließen“ deaktivieren.

Das ganze vereinfachen

Bitte sehen Sie sich hier ggf. erst das Kapitel Parameter in Variablen an.

Wir nennen die Variable in unserem Beispiel rangeConditionStatement der Inhalt sieht dann wie folgt aus:

Der Aufruf würde dann in der Spalte 3 würde dann wie folgt aussehen:

$(rangeConditionStatement($(sumLineSalesAmount),$(sumLineSalesAmount)))

Und für unsere Spalte 3

$(rangeConditionStatement($(sumLineSalesAmount),$(sumLineCosts)))

Set Analysis Variante

Im wesentlichen müssen Sie das ganze wie oben umsetzen nur anstelle der If Anweisung nehmen Sie Set Analysis.

sum({<Kunde={"=sum([Umsatz pro Bestellzeile]) > rangeValue1 and 
sum([Umsatz pro Bestellzeile]) < rangeValue2"}>}
[Umsatz pro Bestellzeile])