FlowHeater Demo Video
 
Der Daten Import / Export Spezialist
 
Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:
Schauen Sie sich auch die verfügbaren allgemeinen Beispiele an evtl. kann Ihre Frage hiermit schon beantwortet werden: Hello World 1 / 2 / 3 , Zahlen in Zeichenketten formatieren , Einfache Wenn-Dann-Sonst Bedingung , Komplexe If-Then-ElseIf ... Bedingung , Daten filtern und gruppieren , Daten gruppieren und Werte über die Gruppierung summieren
  • Seite:
  • 1

THEMA: Wenn-Dann Abfrage mit mehreren Bedingungen

Wenn-Dann Abfrage mit mehreren Bedingungen 3 Wochen 2 Tage her #3845

  • FlowHeater-Team
  • FlowHeater-Teams Avatar Autor
  • Offline
  • Beiträge: 1459
Hallo Supporter,

ich habe das Problem bei einfachen IF Then Anweisungen kein Else hinzufügen zu können. Ich möchte eine Textdatei in der Spalte 5 ab und zu leer ist mit einem Text füllen aber nur wenn Spalte 1 einen Wert hat der größer als 9999 ist .

Vorab vielen Dank für Info ..!
M.f.G.
M. Schmidt
Anfrage per Email erhalten

gruß
Robert Stark

Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

gruß
Robert Stark

Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.

Wenn-Dann Abfrage mit mehreren Bedingungen 3 Wochen 2 Tage her #3846

  • FlowHeater-Team
  • FlowHeater-Teams Avatar Autor
  • Offline
  • Beiträge: 1459
Hallo Herr Schmidt,

hierfür benötigen Sie eine verschachtelte Bedingung. Im Anhang finden Sie ein kleines Beispiel dazu.

Die zwei Felder werden dabei erst einmal separat auf Ihre Richtigkeit geprüft. In Ihrem Fall einmal ob die dritte (bzw. fünfte) Spalte leer ist sowie ob die erste Spalte einen Wert größer als 9999 aufweist.

Achtung: Bei dieser Bedingung müssen Sie im IF-THEN-ELSE Heater den FlowHeater Datentyp auf einen Zahlen Datentyp (Integer, Decimal, Double oder Currency) ändern, siehe Screenshot. Ansonsten wird hier nicht der Zahlenwert, sondern Zeichenweise verglichen. Hier wäre dann 9 schon größer als 1000, da das erste Zeichen bereits eine höhere Zeichensatz Kodierung aufweist!

Als Rückgabewert, falls die Bedingung zutrifft, wird hier nur ein statischer Wert über den X-Value Heater zurückgegeben, im Beispiel das Zeichen „#“.

Diese beiden Vergleichswerte werden dann über einen String Append Heater zusammengefasst und ein weiterer IF-THEN-ELSE Heater prüft dann ob dieser zusammengefasste Wert „##“ ist. Das ist er nur der Fall, wenn beide vorherigen Bedingungen zutreffen. Hier können Sie dann Ihren statischen Wert im DANN Zweig der Bedingung zurückgeben. Im SONST Zweig wird das CSV Feld an die WRITE Seite weitergereicht.




Alternative, erfordert Grundkenntnisse in der Programmierung
Als Alternative zu diesem Vorgehen können Sie auch einen .NET Script Heater und untenstehendes C# Skript dafür verwenden. Wurde ebenfalls im Beispiel berücksichtigt.

C# Skript
public object DoWork()
{        
    if (InValues.Length != 2)    
        throw new Exception("Es werden 2 Eingangsparameter erwartet!");

    // ersten Eingangsparameter holen = 1. Spalte
    int zahl = (int)InValues[0].GetInteger();
    
    // zweiten Eingangsparameter holen = 3. Spalte
    string wert = (string)InValues[1].GetString();

    if (wert.Trim().Length == 0 && zahl > 9999)
    {
        wert = "3. Spalte leer und 1. Spalte größer 9999";
    }
    
    return wert;
}

Dateianhang:

Dateiname: mehrfach-b...gung.zip
Dateigröße:3 KB

gruß
Robert Stark

Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Anhänge:

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

gruß
Robert Stark

Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
  • Seite:
  • 1

andere Sprachen

en

FlowHeater Home

de en

Impressum/Kontakt

Datenschutz

Copyright © 2009-2019 by FlowHeater GmbH.
Alle Rechte vorbehalten.

Follow us on

twitter  facebook

YouTube

 de en