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:

Mehrere IF-Abfragen verknüpfen 7 Monate 3 Wochen her #4176

  • Michael Schaffert
  • Michael Schafferts Avatar Autor
  • Offline
  • Beiträge: 17
Hallo zusammen!

Ich habe eine Frage zu IF-Heatern. Es geht darum folgende Abfrage zu konstruieren:

"Wenn Spalte1 UND Spalte2 NICHT LEER sind, dann nimm Spalte 1, ansonsten prüfe ob Spalte 3 UND Spalte 4 NICHT LEER sind, dann nimm Spalte 3, ansonsten nimm doch Spalte 1."

Lässt sich das überhaupt mit den Heatern noch abbilden oder wird hier noch ein .NET-Skript notwendig?
Wäre super, wenn Ihr mir hiermit ein wenig helfen könntet!

Viele Grüße
Michael

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehrere IF-Abfragen verknüpfen 7 Monate 3 Wochen her #4177

  • FlowHeater-Team
  • FlowHeater-Teams Avatar
  • Offline
  • Beiträge: 1681
Hallo Herr Schaffert,

ja es geht, aber verschachtelte IF-THEN-ELSE (Wenn-Dann-Sonst) Bedingungen sind immer etwas schwierig abzubilden. Schöner und mit nur einem Heater geht es aber mit dem .NET Script Heater , Beispiel siehe unten bzw. im Anhang.

Vorgehensweise über verschachtelte IF-THEN-ELSE Bedingung
Als erstes benötigen Sie hierfür pro Wertepaar das geprüft werden soll zwei IF-THEN-ELSE Bedingungen , siehe Screenshot 1 und 2. Pro Bedingung wird hier lediglich geprüft ob das Feld nicht leer ist (!= empty).

Ist das der Fall wird das boolesche Ergebnis davon zurückgegeben (ja bzw. nein). Die Werte beider Bedingungen werden dann über einen String Append Heater zu einer Zeichenfolge mit dem Trennzeichen „#“ zusammengefasst. Auf diesen Werten wird dann in weiteren zwei Bedingungen jeweils auf „= ja#ja“ abgeprüft, siehe Screenshot Punkte 3 und 4. In der Bedingung „4“ wird im ELSE bzw. SONST Zweig der Standwert von Spalte 1 zurückgegeben ansonsten Spalte 3. Das Ergebnis daraus wandert zur 4. Bedingung wo wiederum auf „ja#ja“ abgeprüft wird. Trifft das zu, wird Spalte 1 zurückgegeben und falls nicht das Ergebnis aus Bedingung 3.

Vorgehensweise über .NET Script Heater
Über untenstehendes C# Skript (Kommentare sind im Skript enthalten) kann die doch recht komplexe verschachtelte Bedingung mit nur einem .NET Script Heater abgebildet werden, siehe Screenshot Punkt 5. Das Skript benötigt als Eingangsparameter alle 4 Spalten in der richtigen Reihenfolge. Nachteil daran, es sind Grundkenntnisse in der Programmierung erforderlich.

C# Skript
public object DoWork()
{
    int retSpalte;

    if (InValues.Length != 4)
        throw new ArgumentException("es werden 4 Eingangsparameter erwartet!");

    // Eingangsparameter holen
    string s1 = (string)InValues[0].GetString();
    string s2 = (string)InValues[1].GetString();
    string s3 = (string)InValues[2].GetString();
    string s4 = (string)InValues[3].GetString();

    // Prüfungen durchführen
    if (s1.Trim().Length != 0 && s2.Trim().Length != 0)
    {
        retSpalte = 0; //= 1. Eingangsparamter
    }
    else if (s3.Trim().Length != 0 && s4.Trim().Length != 0)
    {
        retSpalte = 2; //= 3. Eingangsparamter
    }
    else
    {
        retSpalte = 0; // = 1. Eingangsparamter per Default
    }

    // richtge Spalte lt. Prüfung zurückliefern
    return InValues[retSpalte];
}




Dateianhang:

Dateiname: verschacht...2-25.zip
Dateigröße:12 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.

Letzte Änderung: von FlowHeater-Team.

Mehrere IF-Abfragen verknüpfen 7 Monate 2 Wochen her #4188

  • Michael Schaffert
  • Michael Schafferts Avatar Autor
  • Offline
  • Beiträge: 17
Vielen Dank für die ausführliche Antwort.
Ich habe es im 1. Schritt jetzt mal "grafisch" gelöst. Aber als .NET-Heater macht es natürlich auch Sinn. Das muss ich mir mal noch genauer anschauen.

Viele Grüße
Michael

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

  • Seite:
  • 1
Ladezeit der Seite: 0.099 Sekunden

andere Sprachen

en

FlowHeater Home

de en

Impressum/Kontakt

Datenschutz

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

Follow us on

twitter  facebook

YouTube

 de en