Verwenden Sie bedingte Funktionen in Formelausdrücken - AWS IoT SiteWise

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Verwenden Sie bedingte Funktionen in Formelausdrücken

In Transformationen und Metriken können Sie die folgende Funktion verwenden, um eine Bedingung zu überprüfen und unterschiedliche Ergebnisse zurückzugeben, unabhängig davon, ob die Bedingung als wahr oder falsch ausgewertet wird.

Funktion Beschreibung

if(condition, result_if_true, result_if_false)

Wertet das aus condition und gibt zurück, result_if_true ob die Bedingung als wahr ausgewertet wird oder result_if_false ob die Bedingung als wahr ausgewertet wird. false

conditionmuss eine Zahl sein. Diese Funktion betrachtet 0 eine leere Zeichenfolge als false und alles andere (einschließlichNaN) alstrue. Boolesche Werte werden in 0 (falsch) und 1 (wahr) umgewandelt.

Sie können die Konstante none aus dieser Funktion zurückgeben, um die Ausgabe für eine bestimmte Bedingung zu verwerfen. Das bedeutet, dass Sie Datenpunkte herausfiltern können, die eine Bedingung nicht erfüllen. Weitere Informationen finden Sie unter Datenpunkte filtern.

Beispiele
  • if(0, x, y)gibt die Variable zurücky.

  • if(5, x, y)gibt die Variable zurückx.

  • if(gt(temp, 300), x, y)gibt die Variable zurückx, wenn die Variable größer als temp ist300.

  • if(gt(temp, 300), temp, none)gibt die Variable zurück, temp wenn sie größer oder gleich ist300, oder none (kein Wert), wenn sie kleiner als temp ist300.

Wir empfehlen die Verwendung UFCS für verschachtelte bedingte Funktionen, bei denen es sich bei einem oder mehreren Argumenten um bedingte Funktionen handelt. Sie können if(condition, result_if_true) es verwenden, um eine Bedingung und zusätzliche Bedingungen elif(condition, result_if_true, result_if_false) auszuwerten.

Sie können beispielsweise if(condition1, result1_if_true).elif(condition2, result2_if_true, result2_if_false) anstelle von verwendenif(condition1, result1_if_true, if(condition2, result2_if_true, result2_if_false)).

Sie können auch zusätzliche bedingte Zwischenfunktionen verketten. Sie können beispielsweise mehrere if Anweisungen verwenden, if(condition1, result1_if_true).elif(condition2, result2_if_true).elif(condition3, result3_if_true, result3_if_false) anstatt sie zu verschachteln, wie if(condition1, result1_if_true, if(condition2, result2_if_true, if(condition3, result3_if_true result3_if_false))) z.

Wichtig

Sie müssen elif(condition, result_if_true, result_if_false) mit UFCS verwenden.