Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Formel mit 2 Variablen

Hallo,

folgende Formel:

if(vFixAusgabe = 1,sum({$<Kunde = {'A', 'B'}>} RangeMin(Betrag, 0)))

Dimension Kunde: A,B,C,D,E,F

Wenn vFixAusgabe = 1 -> A,B

Wenn vFixAusgabe = 0 -> Null

Das funktioniert!

Allerdings gibt es eine weitere Variable vVariableAusgabe.

Diese soll mit in die Formel eingebaut werden.

Wenn vVariableAusgabe = 1 -> C,D,E,F (alles außer A,B sollte in der Formel angeben werden)

Wenn vVariableAusgabe = 0 -> Null

Wie kann ich die Variable vVariableAusgabe in die Formel einbauen sodass die Logik abgebildet wird?

Viele Grüße und Danke!!!

1 Solution

Accepted Solutions
francoiscave
Partner - Creator III
Partner - Creator III

Hallo Thomas :

Vesucht diese Formel mit die minus für alles außer A,B:

if(vFixAusgabe = 1,sum({$<Kunde -= {'A', 'B'}>} RangeMin(Betrag, 0)))


Viel spaß mit QV,

François

View solution in original post

4 Replies
francoiscave
Partner - Creator III
Partner - Creator III

Hallo Thomas :

Vesucht diese Formel mit die minus für alles außer A,B:

if(vFixAusgabe = 1,sum({$<Kunde -= {'A', 'B'}>} RangeMin(Betrag, 0)))


Viel spaß mit QV,

François

marcus_sommer

Generell kann man viele if-Schleifen oder Bedingungen miteinander kombinieren und/oder ineinander verschachteln, z.B.

if(Bedingung1 and (Bedingung2 or Bedingung3), then, else)

if(Bedingung1, then, if(Bedingung2, then, else))

Du musst hierbei nur aufpassen, dass sich die Bedingungen eventuell gegenseitig ausschließen und dass alle möglichen/erforderlichen Kombinationen abgebildet werden. Das kann schnell sehr komplex und performance-intensiv werden, daher versuche immer es so einfach wie möglich zu halten und in diesem Fall vielleicht zwei Formeln einzusetzen, deren Sichtbarkeit wiederum jeweils über die Formeldbedingungen gesteuert wird.

Allerdings sollten Sichtbarkeiten und Berechnungen nur dort über Buttons oder Variablen gesteuert werden, wo es wirklich anders nicht geht (also eher selten), um nicht die native QlikView usability zu ersetzen, denn es soll mit QlikView ja einfacher werden. Siehe in diesem Sinne auch http://community.qlik.com/blogs/qlikviewdesignblog/2014/04/28/macros-are-bad.

- Marcus

http://community.qlik.com/groups/german-user-group 

Not applicable
Author

Vielen Dank Marcus. Sehr interessant was da zu lesen ist.

Ich bin aktuell auf das von dir angesprochene Problem mit dem Ausschluss gestoßen.

Wie würde eine korrekt Anwendung bei folgender Formel aussehen?

if(vFixAusgabe = 1,sum({$<Kunde= {'A', 'B'} >}RangeMin(Betrag, 0))

,
if(vVariableAusgabe = 1,sum({$-<Kunde= {'A', 'B'} >}RangeMin(Betrag, 0))
))

Das Problem ist hier eindeutig das Komma zwischen den beiden Ausdrücken, allerdings habe ich auch schon AND oder OR versucht. Mit dem OR anstatt des Kommas erhalte ich zwar das gewünschte Ergebnis das beide Berechnungen angezeigt werden. Aber natürlich wird mir mit '-1' ein falsches Ergebnis ausgegeben...

Wie muss ich hier umstellen?

marcus_sommer

Genau das meinte ich - eine funktionierende Logik zu finden, kann recht aufwändig werden und oft ist es besser, es einfacher zu halten und nicht zu versuchen alle Funktionalitäten in eine Formel/Objekt zu packen. Ansonsten probiere mal eher so:

if(vFixAusgabe = 1 and vVariableAusgabe = 0,

     sum({$<Kunde= {'A', 'B'} >}RangeMin(Betrag, 0)),
     sum({$-<Kunde= {'A', 'B'} >}RangeMin(Betrag, 0)))

- Marcus