Framework:IIF-Bedingung: Unterschied zwischen den Versionen
Admin (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Admin (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
| Zeile 21: | Zeile 21: | ||
{| {{Bausteindesign1}} | {| {{Bausteindesign1}} | ||
|- | |- | ||
| <span style="color: darkblue;">'''Hinweis'''</span> Die Funktion wertet IMMER alle Argumente aus! Wenn der False Teil nciht auswertbar ist kommt es daher zu einem Fehler. Die Funktion FKT_CIF wertet nur den True Teil aus. | | <span style="color: darkblue;">'''Hinweis'''</span> Die Funktion wertet IMMER alle Argumente aus! Wenn der False Teil nciht auswertbar ist kommt es daher zu einem Fehler. Die Funktion [[Framework:FKT_CIF]] wertet nur den True Teil aus. | ||
|} | |} | ||
Version vom 5. Februar 2020, 09:49 Uhr
Funktion
IIF(<Bedingung>,<Statement>,<ElseStatement>);
| Parameter | Beschreibung |
| Bedingung | Ausdruck, muss True oder False sein |
| Statement | Ein Wert, der retourniert wird. |
| ElseStatement | Ein Wert, der retourniert wird. |
Diese Funktion gehört zu den clientseitigen Funktionen.
| Hinweis Die Funktion wertet IMMER alle Argumente aus! Wenn der False Teil nciht auswertbar ist kommt es daher zu einem Fehler. Die Funktion Framework:FKT_CIF wertet nur den True Teil aus. |
Wenn man eine Division durch 0 vermeiden will so muss der Ausdruck wie folgt aufgebaut sein:
IIF( b = 0, 0, a / IIF( b = 0, 1, b))
Falls b = 0, dann wird im zweiten Teil a durch 1 dividiert. Das zweite IIF dient dazu, dass bei der Vorauswertung des zweiten Ausdrucks 1 als Divisor kommt und nicht 0. Somit hat man einen gültigen Ausdruck für die Validierung. In der Ausführung hat dieses IIF keine Bedeutung, da hier sowieso das erste IIF zieht und dadurch 0 zurückgegeben wird.
Ergebnis
Retouniert in Abhängigkeit der Bedingung einen Wert. Kann auch verschachtelt sein.
Beispiel
IIF('TimeDimFlag([Zeit.ID])'='Y','yyyy','MMM yy'))';
Jahreszahl des Vorjahres als Teil der Caption eines Measures:
'Menge Ist ' + 'TimeDimAdd(M,-12,[Zeit.ID],IIF('TimeDimFlag([Zeit.ID])'='Y','yyyy','MMM yy'))';