Heater If-Then-Else - die Wenn-Dann-Sonst Bedingung
Mit dem Heater IfThenElse können Sie Bedingungen bzw. Entscheidungen in Ihre Definition einbauen. Der Heater kann bis zu 3 Eingangsparameter verarbeiten, mindestens ein Eingangsparameter muss aber immer angegeben werden. Wird nur ein Eingangsparameter übergeben, wird der boolesche Wahrheitswert (true/wahr bzw. false/falsch) zurückgeliefert. Dies wird vor allem zusammen mit den Kontrollstruktur Heatern Filter und GroupBy verwendet.
- Paramater = If (Wenn) Der Eingangsparameter der als Bedingung aufgelöst wird.
- Parameter = Then (Dann) Rückgabewert falls die Bedingung mit TRUE (Wahr) aufgelöst werden kann, dieser Parameter ist Optional. Wird kein zweiter Parameter angegeben wird der boolesche Wahrheitswert zurückgeliefert.
- Parameter = Else (Sonst) Rückgabewert falls die Bedingung mit FALSE (Falsch) aufgelöst wird, dieser Parameter ist Optional.
Achtung: Den Wert den Sie für die Bedingung angeben muss den Standardformat Vorgaben entsprechen wie´s im WRITE Adapter angegeben wurde. Nehmen wir z.B. den Zahlenwert 100,12. Wurde im WRITE Adapter angegeben, dass für Zahlen als Tausender Trennzeichen ein Komma, sowie als Dezimaltrennzeichen ein Punkt verwendet werden soll, würde der Wert als 10.012,00 (Zehntausend und zwölf) interpretiert.
Datentyp ändern: hiermit können Sie angeben, dass der Heater den eingehenden Wert als einen anderen Datentyp interpretieren soll. Sie haben z.B. einen Stringwert (Zeichenfolge) der Zahlen enthält. Wenn Sie jetzt eine Bedingung wie Wert < 5 verwenden wollen, dann würden auch Werte wie 12, 23, 34, 46, 134, ... kleiner sein als der Wert 5. Das Problem dabei ist, dass hier eine String vergleich (Zeichenkette) stattfindet. Wenn Sie diesen Wert als einen Zahlenwert vergleichen möchten, müssen Sie diese Option aktivieren und den Datentyp auf einen Nummerischen Datentyp stellen (INT, DECIMAL, CURRENCY).
Groß/Kleinschreibung ignorieren: Hiermit teilen Sei dem IF-THEN-ELSE Heater mit ob beim Vergleich der Werte Groß/Kleinschreibung berücksichtigt oder ignoriert werden soll. Wenn Sie diese Option nicht aktivieren werden z.B. folgende 2 Zeichenfolgen nicht als gleich erkannt.
flowheater
FlowHeater
Bedingung
Hier wird die If/Then/Else oder Wenn/Dann/Sonst Bedingung definiert. Es können beliebig viele Bedingungen in der Liste aufgenommen werden. Die Bedingungen werden alle mit dem Boolschen Operator "AND" bzw. "OR" verknüpft der unter Verknüpfung angegeben wurde.
Prüfungen
Über das Kombinationsfeld "Value->"können Sie angeben mit bzw. auf was der eingehende Wert verglichen bzw. geprüft wird. Steht das Kombinationsfeld auf "Value ->" können Sie im nebenstehenden Textfeld den Vergleichswert von Hand eintragen. Zusätzlich zum Vergleichswert stehen hier 4 weitere Prüfungen zur Verfügung.
- IsNull, entspricht der Wert Datenbank NULL (DBNULL)
- IsEmpty, ist der Wert Leer oder hat keinen Inhalt
- IsNumber, prüft ob der Wert eine Zahl ist
- IsDateTime, prüft ob der Wert ein Datum und/oder eine Zeitangabe enthält
Hinweis: Die Prüfung auf IsEmpty beinhaltet die Prüfung auf Datenbank NULL Werte (IsNull) und prüft zusätzlich ob der eingehende Wert nur aus Leerzeichen besteht! Bei diesen vier zusätzlichen Prüfungen können nur die Vergleichsoperationen "= gleich" bzw. "!=ungleich" verwendet werden.
Mit der Option „Ergebnis negieren“ wird das eigentliche Ergebnis der Bedingung umgekehrt. Hiermit können Bedingungen wie „Wert beginnt nicht mit“ oder „Wert endet nicht mit“ konstruiert werden.
Folgende Vergleichsoperatoren stehen zur Verfügung:
= Gleich
!= Ungleich
< kleiner als
> größer als
<= kleiner gleich als
>= größer gleich als
** InString Vergleich, kommt der angegebene Wert in der Zeichenkette vor
!* InString Vergleich, kommt der angegebene Wert nicht in der Zeichenkette vor
=* Wert beginnt mit
*= Wert endet mit
Beachten Sie auch die allgemeinen Hinweise zu den Heater.
Beispiele
Folgende Beispiel sind für den IfThenElse Heater verfügbar.
- Einfaches If-Then-Else Beispiel
- Komplexes If-Then-Elseif .. Else Beispiel, alternativ und wesentlich eleganter wird hier auch der .NET Script Heater vorgestellt
- Excel CSV Datenexport