Skip to main content
Weil einfach - produktiver ist

Der Daten Spezialist

Konvertieren Sie die Daten mühelos zwischen verschiedenen Formaten ohne Programmierkenntnisse dank Visual Designer. Effizient und super einfach.
Flowheater Download

Mehrere IF-Abfragen verknüpfen

  • Michael Schaffert
  • Autor
  • Offline
  • Benutzer
  • Benutzer
Mehr
3 Jahre 1 Monat her #4176 von Michael Schaffert
Mehrere IF-Abfragen verknüpfen wurde erstellt von Michael Schaffert
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 um der Konversation beizutreten.

Mehr
3 Jahre 1 Monat her - 3 Jahre 1 Monat her #4177 von FlowHeater-Team
FlowHeater-Team antwortete auf Mehrere IF-Abfragen verknüpfen
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
Code:
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:
Letzte Änderung: 3 Jahre 1 Monat her von FlowHeater-Team.

Bitte Anmelden um der Konversation beizutreten.

  • Michael Schaffert
  • Autor
  • Offline
  • Benutzer
  • Benutzer
Mehr
3 Jahre 1 Monat her #4188 von Michael Schaffert
Michael Schaffert antwortete auf Mehrere IF-Abfragen verknüpfen
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 um der Konversation beizutreten.

Ladezeit der Seite: 0.270 Sekunden

FlowHeater - Der Daten Spezialist

Effiziente Datenintegration und Transformation mit FlowHeater - Ihre Lösung für nahtlosen Datentransfer.

Rechtliches

Support & Kontakt

Kontaktinformation

Telefon:
0951 / 99339792

E-Mail:
Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein.


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