Framework:IIF-Bedingung: Unterschied zwischen den Versionen

Aus CoPlanner 10
Zur Navigation springenZur Suche springen
Keine Bearbeitungszusammenfassung
D.Harg (Diskussion | Beiträge)
K Typo ausgebessert
 
(6 dazwischenliegende Versionen von einem anderen Benutzer werden nicht angezeigt)
Zeile 18: Zeile 18:
|}
|}
Diese Funktion gehört zu den [[:Kategorie:Funktionen_-_clientseitig|clientseitigen Funktionen]].
Diese Funktion gehört zu den [[:Kategorie:Funktionen_-_clientseitig|clientseitigen Funktionen]].
{| {{Bausteindesign1}}
|-
| <span style="color: darkblue;">'''Hinweis'''</span> &nbsp;Die Funktion wertet IMMER alle Argumente aus! Wenn der False Teil nicht 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==
==Ergebnis==
Zeile 25: Zeile 37:
<span {{CoPFormel}}>IIF('TimeDimFlag([Zeit.ID])'='Y','yyyy','MMM yy'))';</span>
<span {{CoPFormel}}>IIF('TimeDimFlag([Zeit.ID])'='Y','yyyy','MMM yy'))';</span>


Measure Caption mit der Jahreszahl des Vorjahres in der Caption:
Jahreszahl des Vorjahres als Teil der Caption eines Measures:


<span {{CoPFormel}}>'Menge Ist ' + 'TimeDimAdd(M,-12,[Zeit.ID],IIF('TimeDimFlag([Zeit.ID])'='Y','yyyy','MMM yy'))';</span>
<span {{CoPFormel}}>'Menge Ist ' + 'TimeDimAdd(M,-12,[Zeit.ID],IIF('TimeDimFlag([Zeit.ID])'='Y','yyyy','MMM yy'))';</span>

Aktuelle Version vom 7. Juni 2022, 07:29 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 nicht 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'))';