
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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!!!
Accepted Solutions


- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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


- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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


- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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?


- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
