View a markdown version of this page

Tutorials zu 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.

Tutorials zu Formelausdrücken

Sie können diesen Tutorials folgen, um Formelausdrücke in zu verwenden. AWS IoT SiteWise

Verwenden Sie Zeichenketten in Formeln

Sie können in Ihren Formelausdrücken mit Zeichenketten arbeiten. Sie können auch Zeichenfolgen aus Variablen eingeben, die auf Attribut- und Messeigenschaften verweisen.

Wichtig

Formelausdrücke können nur Doppel- oder Zeichenfolgenwerte ausgeben. Verschachtelte Ausdrücke können andere Datentypen ausgeben, z. B. Zeichenketten, aber die Formel als Ganzes muss zu einer Zahl oder Zeichenfolge ausgewertet werden. Sie können die Funktion jp verwenden, um eine Zeichenfolge in eine Zahl zu konvertieren. Der boolesche Wert muss 1 (wahr) oder 0 (falsch) sein. Weitere Informationen finden Sie unter Undefinierte, unendliche und Überlaufwerte.

AWS IoT SiteWise bietet die folgenden Funktionen für Formelausdrücke, die Sie für die Bearbeitung von Zeichenfolgen verwenden können:

Datenpunkte filtern

Sie können die IF-Funktion verwenden, um Datenpunkte herauszufiltern, die eine Bedingung nicht erfüllen. Die if Funktion wertet eine Bedingung aus und gibt unterschiedliche Werte true und false Ergebnisse zurück. Sie können die Konstante none als Ausgabe für einen Fall einer if Funktion verwenden, um den Datenpunkt für diesen Fall zu verwerfen.

Um Datenpunkte herauszufiltern, die einer Bedingung entsprechen
  • Erstellen Sie eine Transformation, die mithilfe der if Funktion eine Bedingung definiert, die prüft, ob eine Bedingung erfüllt ist, und entweder den result_if_false Wert result_if_true oder zurückgibtnone.

Beispiel Beispiel: Filtern Sie Datenpunkte heraus, an denen das Wasser nicht kocht

Stellen Sie sich ein Szenario vor, in dem Sie eine Messung habentemp_c, die die Temperatur (in Celsius) des Wassers in einer Maschine angibt. Sie können die folgende Transformation definieren, um Datenpunkte herauszufiltern, an denen das Wasser nicht kocht:

  • Transformieren: boiling_temps = if(gte(temp_c, 100), temp_c, none) — Gibt die Temperatur zurück, wenn sie größer oder gleich 100 Grad Celsius ist, andernfalls wird kein Datenpunkt zurückgegeben.

Zählen Sie Datenpunkte, die einer Bedingung entsprechen

Sie können Vergleichsfunktionen und sum () verwenden, um die Anzahl der Datenpunkte zu zählen, für die eine Bedingung zutrifft.

Um Datenpunkte zu zählen, die einer Bedingung entsprechen
  1. Erstellen Sie eine Transformation, die eine Vergleichsfunktion verwendet, um eine Filterbedingung für eine andere Eigenschaft zu definieren.

  2. Erstellen Sie eine Metrik, die die Datenpunkte summiert, für die diese Bedingung erfüllt ist.

Beispiel Beispiel: Zählen Sie die Anzahl der Datenpunkte, bei denen Wasser kocht

Stellen Sie sich ein Szenario vor, in dem Sie einen Messwert habentemp_c, der die Wassertemperatur (in Celsius) in einer Maschine angibt. Sie können die folgenden Transformations- und Metrikeigenschaften definieren, um die Anzahl der Datenpunkte zu zählen, bei denen das Wasser kocht:

  • Transformieren: is_boiling = gte(temp_c, 100) — Gibt zurück, 1 ob die Temperatur größer oder gleich 100 Grad Celsius ist, andernfalls wird zurückgegeben0.

  • Metrisch: boiling_count = sum(is_boiling) — Gibt die Anzahl der Datenpunkte zurück, an denen Wasser kocht.

Verspätete Daten in Formeln

AWS IoT SiteWise unterstützt die verspätete Datenaufnahme von Daten, die bis zu 7 Tage alt sind. Wenn verspätete Daten AWS IoT SiteWise empfangen werden, werden die vorhandenen Werte für alle Metriken, die die verspäteten Daten in einem früheren Fenster eingegeben haben, neu berechnet. Diese Neuberechnungen führen zu Gebühren für die Datenverarbeitung.

Anmerkung

Bei der AWS IoT SiteWise Berechnung von Eigenschaften, die verspätete Daten eingeben, wird für jede Eigenschaft der aktuelle Formelausdruck verwendet.

Nach der AWS IoT SiteWise Neuberechnung eines früheren Fensters für eine Metrik wird der vorherige Wert für dieses Fenster ersetzt. Wenn Sie Benachrichtigungen für diese Metrik aktiviert haben, wird AWS IoT SiteWise auch eine Benachrichtigung über den Eigenschaftswert ausgegeben. Dies bedeutet, dass Sie eine neue Benachrichtigung zum Aktualisieren von Eigenschaftswerten für dieselbe Eigenschaft und denselben Zeitstempel erhalten können, für die Sie zuvor bereits eine Benachrichtigung erhalten haben. Wenn Ihre Anwendungen oder Data Lakes Eigenschaftswertbenachrichtigungen verwenden, müssen Sie den vorherigen Wert mit dem neuen Wert aktualisieren, damit die Daten weiterhin korrekt sind.

Datenqualität in Formeln

AWS IoT SiteWise In hat jeder Datenpunkt einen Qualitätscode, der einer der folgenden sein kann:

  • GOOD— Die Daten sind von keinen Problemen betroffen.

  • BAD— Die Daten sind von einem Problem wie einem Sensorausfall betroffen.

  • UNCERTAIN— Die Daten sind von einem Problem wie einer Sensorungenauigkeit betroffen.

AWS IoT SiteWise verbraucht bei der Berechnung von Transformationen und Metriken nur GOOD Qualitätsdaten. AWS IoT SiteWise gibt nur GOOD Qualitätsdaten für erfolgreiche Berechnungen aus. Wenn eine Berechnung nicht erfolgreich ist, wird AWS IoT SiteWise kein Datenpunkt für diese Berechnung ausgegeben. Dies kann auftreten, wenn eine Berechnung zu einem undefinierten, unendlichen oder Überlaufwert führt.

Weitere Informationen zum Abfragen von Daten und zum Filtern nach Datenqualität finden Sie unter Daten abfragen von AWS IoT SiteWise.

Undefinierte, unendliche und Überlaufwerte

Einige Formelausdrücke (wiex / 0, oderlog(0)) berechnen Wertesqrt(-1), die in einem reellen Zahlensystem nicht definiert sind, unendlich sind oder außerhalb des Bereichs liegen, der von unterstützt wird. AWS IoT SiteWise Wenn der Ausdruck einer Anlageneigenschaft einen undefinierten, unendlichen Wert oder einen Überlaufwert berechnet, wird AWS IoT SiteWise kein Datenpunkt für diese Berechnung ausgegeben.

AWS IoT SiteWise gibt auch keinen Datenpunkt aus, wenn ein nichtnumerischer Wert als Ergebnis eines Formelausdrucks berechnet wird. Das bedeutet, dass, wenn Sie eine Formel definieren, die eine Zeichenfolge, ein Array oder die None-Konstante berechnet, AWS IoT SiteWise kein Datenpunkt für diese Berechnung ausgegeben wird.

Beispiel Beispiele

Jeder der folgenden Formelausdrücke führt zu einem Wert, der nicht als Zahl dargestellt AWS IoT SiteWise werden kann. AWS IoT SiteWise gibt bei der Berechnung dieser Formelausdrücke keinen Datenpunkt aus.

  • x / 0ist undefiniert.

  • log(0)ist undefiniert.

  • sqrt(-1)ist in einem reellen Zahlensystem undefiniert.

  • "hello" + " world"ist eine Zeichenfolge.

  • jp('{"values":[3,6,7]}', '$.values')ist ein Array.

  • if(gte(temp, 300), temp, none)tempist none wenn kleiner als ist300.