

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.

# Definieren Sie Dateneigenschaften
<a name="asset-properties"></a>

*Asset-Eigenschaften* sind die Strukturen innerhalb jedes Assets, die Asset-Daten enthalten. Bei den Komponenteneigenschaften kann es sich um folgende Typen handeln:
+ **Attribute** — Die im Allgemeinen statischen Eigenschaften eines Assets, z. B. Gerätehersteller oder geografische Region. Weitere Informationen finden Sie unter [Definieren Sie statische Daten (Attribute)](attributes.md).
+ **Messungen** — Die Sensordatenströme eines Geräts im Rohformat, z. B. mit Zeitstempel versehene Drehzahlwerte oder Temperaturwerte mit Zeitstempel in Celsius. Eine Messung wird durch einen Daten-Stream-Alias definiert. Weitere Informationen finden Sie unter [Definieren Sie Datenströme von Geräten (Messungen)](measurements.md).
+ **Transformationen** — Die transformierten Zeitreihenwerte eines Assets, z. B. Temperaturwerte mit Zeitstempel in Fahrenheit. Eine Transformation wird durch einen Ausdruck und die Variablen definiert, die mit diesem Ausdruck verwendet werden sollen. Weitere Informationen finden Sie unter [Daten transformieren (transformiert)](transforms.md).
+ **Metriken** — Die Daten einer Anlage, die über ein bestimmtes Zeitintervall aggregiert wurden, z. B. die stündliche Durchschnittstemperatur. Eine Metrik wird durch ein Zeitintervall, einen Ausdruck und die Variablen definiert, die mit diesem Ausdruck verwendet werden sollen. Metrische Ausdrücke können die metrischen Eigenschaften der zugehörigen Anlagen eingeben, sodass Sie Metriken berechnen können, die Ihren Betrieb oder eine Teilmenge Ihres Betriebs repräsentieren. Weitere Informationen finden Sie unter [Aggregieren Sie Daten aus Immobilien und anderen Vermögenswerten (Metriken)](metrics.md).

Weitere Informationen finden Sie unter [Erstellen Sie Asset-Modelle in AWS IoT SiteWise](create-asset-models.md).

Ein Beispiel für die Verwendung von Messungen, Transformationen und Metriken zur Berechnung der Gesamtanlageneffektivität (Overall Equipment Effectiveness, OEE) finden Sie unter [Berechnung der Gesamtanlageneffektivität in AWS IoT SiteWise](calculate-oee.md).

**Topics**
+ [

# Definieren Sie statische Daten (Attribute)
](attributes.md)
+ [

# Definieren Sie Datenströme von Geräten (Messungen)
](measurements.md)
+ [

# Daten transformieren (transformiert)
](transforms.md)
+ [

# Aggregieren Sie Daten aus Immobilien und anderen Vermögenswerten (Metriken)
](metrics.md)
+ [

# Verwenden Sie Formelausdrücke
](formula-expressions.md)

# Definieren Sie statische Daten (Attribute)
<a name="attributes"></a>

*Asset-Attribute* stellen Informationen dar, die im Allgemeinen statisch sind, z. B. Gerätehersteller oder geografischer Standort. Jede Komponente, die Sie anhand eines Komponentenmodells erstellen, enthält die Attribute dieses Modells.

**Topics**
+ [

## Definieren Sie Attribute (Konsole)
](#define-attributes-console)
+ [

## Definieren Sie Attribute ()AWS CLI
](#define-attributes-cli)

## Definieren Sie Attribute (Konsole)
<a name="define-attributes-console"></a>

Wenn Sie in der AWS IoT SiteWise Konsole ein Attribut für ein Asset-Modell definieren, geben Sie die folgenden Parameter an:
+ <a name="asset-property-name-console"></a>**Name** — Der Name der Immobilie.
+ **Standardwert** — (Optional) Der Standardwert für dieses Attribut. Aus dem Modell erstellte Objekte haben diesen Wert für das Attribut. Weitere Informationen zum Überschreiben des Standardwerts in einer aus einem Modell erstellten Komponente finden Sie unter [Attributwerte aktualisieren](update-attribute-values.md).
+ <a name="asset-property-data-type-console"></a>**Datentyp** — Der Datentyp der Eigenschaft, der einer der folgenden ist:
  + **Zeichenfolge** — Eine Zeichenfolge mit bis zu 1024 Byte.
  + **Integer** — Eine 32-Bit-Ganzzahl mit Vorzeichen und einem Bereich von [-2.147.483.648, 2.147.483.647].
  + **Double** — Eine Gleitkommazahl mit einem Bereich [-10^100, 10^100] und einer doppelten IEEE-754-Genauigkeit.
  + **`false`Boolean — `true` oder.**
+ **Externe ID** — (Optional) Dies ist eine benutzerdefinierte ID. Weitere Informationen finden Sie unter [Referenzobjekte mit externen IDs](object-ids.md#external-id-references) im *AWS IoT SiteWise -Benutzerhandbuch*.

Weitere Informationen finden Sie unter [Erstellen Sie ein Asset-Modell (Konsole)](create-asset-models.md#create-asset-model-console).

## Definieren Sie Attribute ()AWS CLI
<a name="define-attributes-cli"></a>

Wenn Sie mit der AWS IoT SiteWise API ein Attribut für ein Asset-Modell definieren, geben Sie die folgenden Parameter an:
+ <a name="asset-property-name-cli"></a>`name`— Der Name der Immobilie.
+ `defaultValue`— (Optional) Der Standardwert für dieses Attribut. Aus dem Modell erstellte Objekte haben diesen Wert für das Attribut. Weitere Informationen zum Überschreiben des Standardwerts in einer aus einem Modell erstellten Komponente finden Sie unter [Attributwerte aktualisieren](update-attribute-values.md).
+ <a name="asset-property-data-type-cli"></a>`dataType`— Der Datentyp der Eigenschaft, der einer der folgenden ist:
  + `STRING`— Eine Zeichenfolge mit bis zu 1024 Byte.
  + `INTEGER`— Eine 32-Bit-Ganzzahl mit Vorzeichen im Bereich [-2.147.483.648, 2.147.483.647].
  + `DOUBLE`— Eine Fließkommazahl mit einem Bereich [-10^100, 10^100] und einer doppelten IEEE-754-Genauigkeit.
  + `BOOLEAN`— `true` oder. `false`
+ `externalId`— (Optional) Dies ist eine benutzerdefinierte ID. Weitere Informationen finden Sie unter [Referenzobjekte mit externen IDs](object-ids.md#external-id-references) im *AWS IoT SiteWise -Benutzerhandbuch*.

**Example Beispiel für eine Attributdefinition**  
Im folgenden Beispiel wird ein Attribut veranschaulicht, das die Modellnummer einer Komponente mit einem Standardwert darstellt. Dieses Objekt ist ein Beispiel für ein [AssetModelProperty](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_AssetModelProperty.html), das ein [Attribut](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_Attribute.html) enthält. Sie können dieses Objekt als Teil der [CreateAssetModel](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_CreateAssetModel.html)-Anforderungs-Nutzlast angeben, um eine Attributeigenschaft zu erstellen. Weitere Informationen finden Sie unter [Erstellen Sie ein Asset-Modell (AWS CLI)](create-asset-models.md#create-asset-model-cli).  

```
{
...
"assetModelProperties": [
{
  "name": "Model number",
  "dataType": "STRING",
  "type": {
    "attribute": {
      "defaultValue": "BLT123"
    }
  }
}
],
...
}
```

# Definieren Sie Datenströme von Geräten (Messungen)
<a name="measurements"></a>

Eine *Messung* stellt den rohen Sensordatenstrom eines Geräts dar, z. B. Temperaturwerte mit Zeitstempel oder Werte für Umdrehungen pro Minute (U/min) mit Zeitstempel.

**Topics**
+ [

## Definieren Sie Messungen (Konsole)
](#define-measurements-console)
+ [

## Maße definieren ()AWS CLI
](#define-measurements-cli)

## Definieren Sie Messungen (Konsole)
<a name="define-measurements-console"></a>

Wenn Sie in der AWS IoT SiteWise Konsole eine Messung für ein Anlagenmodell definieren, geben Sie die folgenden Parameter an:
+ <a name="asset-property-name-console"></a>**Name** — Der Name der Immobilie.
+ <a name="asset-property-unit-console"></a>**Einheit** — (Optional) Die wissenschaftliche Einheit für die Eigenschaft, z. B. mm oder Celsius.
+ <a name="asset-property-data-type-console"></a>**Datentyp** — Der Datentyp der Eigenschaft, der einer der folgenden ist:
  + **Zeichenfolge** — Eine Zeichenfolge mit bis zu 1024 Byte.
  + **Integer** — Eine 32-Bit-Ganzzahl mit Vorzeichen und einem Bereich von [-2.147.483.648, 2.147.483.647].
  + **Double** — Eine Gleitkommazahl mit einem Bereich [-10^100, 10^100] und einer doppelten IEEE-754-Genauigkeit.
  + **`false`Boolean — `true` oder.**
+ **Externe ID** — (Optional) Dies ist eine benutzerdefinierte ID. Weitere Informationen finden Sie unter [Referenzobjekte mit externen IDs](object-ids.md#external-id-references) im *AWS IoT SiteWise -Benutzerhandbuch*.

Weitere Informationen finden Sie unter [Erstellen Sie ein Asset-Modell (Konsole)](create-asset-models.md#create-asset-model-console).

## Maße definieren ()AWS CLI
<a name="define-measurements-cli"></a>

Wenn Sie mit der AWS IoT SiteWise API eine Messung für ein Asset-Modell definieren, geben Sie die folgenden Parameter an:
+ <a name="asset-property-name-cli"></a>`name`— Der Name der Immobilie.
+ <a name="asset-property-data-type-cli"></a>`dataType`— Der Datentyp der Eigenschaft, der einer der folgenden ist:
  + `STRING`— Eine Zeichenfolge mit bis zu 1024 Byte.
  + `INTEGER`— Eine 32-Bit-Ganzzahl mit Vorzeichen im Bereich [-2.147.483.648, 2.147.483.647].
  + `DOUBLE`— Eine Fließkommazahl mit einem Bereich [-10^100, 10^100] und einer doppelten IEEE-754-Genauigkeit.
  + `BOOLEAN`— `true` oder. `false`
+ <a name="asset-property-unit-cli"></a>`unit`— (Optional) Die wissenschaftliche Einheit für die Eigenschaft, z. B. mm oder Celsius.
+ `externalId`— (Optional) Dies ist eine benutzerdefinierte ID. Weitere Informationen finden Sie unter [Referenzobjekte mit externen IDs](object-ids.md#external-id-references) im *AWS IoT SiteWise -Benutzerhandbuch*.

**Example Beispiel für eine Messdefinition**  
Das folgende Beispiel zeigt eine Messung, die die Messwerte der Temperatursensoren einer Komponente darstellt. Dieses Objekt ist ein Beispiel für ein Objekt [AssetModelProperty](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_AssetModelProperty.html), das eine [Messung](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_Measurement.html) enthält. Sie können dieses Objekt als Teil der [CreateAssetModel](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_CreateAssetModel.html)-Anforderungs-Nutzlast angeben, um eine Messungseigenschaft zu erstellen. Weitere Informationen finden Sie unter [Erstellen Sie ein Asset-Modell (AWS CLI)](create-asset-models.md#create-asset-model-cli).  
Die [Messstruktur](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_Measurement.html) ist eine leere Struktur, wenn Sie ein Asset-Modell definieren, da Sie später jedes Asset so konfigurieren, dass es eindeutige Gerätedatenströme verwendet. Weitere Informationen darüber, wie Sie die Messeigenschaft einer Anlage mit dem Sensordatenstrom eines Geräts verbinden, finden Sie unter[Datenströme verwalten für AWS IoT SiteWise](manage-data-streams.md).  

```
{
      ...
      "assetModelProperties": [
      {
          "name": "Temperature C",
          "dataType": "DOUBLE",
          "type": {
              "measurement": {}
          },
          "unit": "Celsius"
      }
  ],
      ...
}
```

# Daten transformieren (transformiert)
<a name="transforms"></a>

*Transformationen* sind mathematische Ausdrücke, die die Datenpunkte von Asset-Eigenschaften einem Formular einem anderen zuordnen. Ein Transformationsausdruck besteht aus Variablen, Literalen, Operatoren und Funktionen für Asset-Eigenschaften. Die transformierten Datenpunkte stehen in einer one-to-one Beziehung zu den Eingabedatenpunkten. AWS IoT SiteWise berechnet jedes Mal, wenn eine der Eingabeeigenschaften einen neuen Datenpunkt erhält, einen neuen transformierten Datenpunkt.

**Anmerkung**  
Bei Eigenschaftenaktualisierungen mit demselben Zeitstempel können Ausgabewerte durch Aktualisierungen anderer eingehender Eigenschaften überschrieben werden.

Wenn Ihre Komponente beispielsweise über einen Temperaturmessungs-Stream namens `Temperature_C` mit Einheiten in Celsius verfügt, können Sie jeden Datenpunkt mit der Formel `Temperature_F = 9/5 * Temperature_C + 32` in Fahrenheit konvertieren. Jedes Mal, wenn ein Datenpunkt im `Temperature_C` Messstream AWS IoT SiteWise empfangen wird, wird der entsprechende `Temperature_F` Wert innerhalb weniger Sekunden berechnet und ist als Eigenschaft verfügbar. `Temperature_F`

Wenn Ihre Transformation mehr als eine Variable enthält, leitet der Datenpunkt, der früher eintrifft, die Berechnung sofort ein. Stellen Sie sich ein Beispiel vor, bei dem ein Teilehersteller eine Transformation verwendet, um die Produktqualität zu überwachen. Der Hersteller verwendet je nach Bauteiltyp eine andere Norm und verwendet die folgenden Maße, um den Prozess darzustellen:
+ `Part_Number`- Eine Zeichenfolge, die den Teiletyp identifiziert.
+ `Good_Count`- Eine Ganzzahl, die um eins erhöht wird, wenn das Teil der Norm entspricht.
+ `Bad_Count`- Eine Ganzzahl, die um eins erhöht wird, wenn das Teil nicht der Norm entspricht.

Der Hersteller erstellt auch eine Transformation,`Quality_Monitor`, die entspricht. ` if(eq(Part_Number, "BLT123") and (Bad_Count / (Good_Count + Bad_Count) > 0.1), "Caution", "Normal")`

Diese Transformation überwacht den Prozentsatz fehlerhafter Teile, die für einen bestimmten Teiletyp hergestellt wurden. Wenn die Bauteilnummer den Wert 10 Prozent (0,1) übersteigt BLT123 und der Prozentsatz der fehlerhaften Teile 10 Prozent (0,1) übersteigt, kehrt die Transformation zurück`"Caution"`. Andernfalls kehrt die Transformation zurück`"Normal"`.

**Anmerkung**  
Wenn vor anderen Messungen ein neuer Datenpunkt `Part_Number` empfangen wird, verwendet die `Quality_Monitor` Transformation den neuen `Part_Number` Wert und die neuesten `Good_Count` `Bad_Count` UND-Werte. Um Fehler zu vermeiden, setzen `Good_Count` Sie das `Bad_Count` Gerät vor dem nächsten Fertigungslauf zurück.
Verwenden Sie [Metriken](metrics.md), wenn Sie Ausdrücke erst auswerten möchten, nachdem alle Variablen neue Datenpunkte erhalten haben.

**Topics**
+ [

## Transformationen definieren (Konsole)
](#define-transforms-console)
+ [

## Definieren Sie Transformationen ()AWS CLI
](#define-transform-cli)

## Transformationen definieren (Konsole)
<a name="define-transforms-console"></a>

Wenn Sie in der AWS IoT SiteWise Konsole eine Transformation für ein Asset-Modell definieren, geben Sie die folgenden Parameter an:
+ <a name="asset-property-name-console"></a>**Name** — Der Name der Immobilie.
+ <a name="asset-property-unit-console"></a>**Einheit** — (Optional) Die wissenschaftliche Einheit für die Eigenschaft, z. B. mm oder Celsius.
+ **Datentyp** — Der Datentyp der Transformation, der **Double** oder **String** sein kann.
+ **Externe ID** — (Optional) Dies ist eine benutzerdefinierte ID. Weitere Informationen finden Sie unter [Referenzobjekte mit externen IDs](object-ids.md#external-id-references) im *AWS IoT SiteWise -Benutzerhandbuch*.
+ **Formel** — Der Transformationsausdruck. Transformationsausdrücke können keine Aggregationsfunktionen oder Temporalfunktionen verwenden. Um die Funktion zur auto Vervollständigung zu öffnen, beginnen Sie mit der Eingabe oder drücken Sie die NACH-UNTEN-TASTE. Weitere Informationen finden Sie unter [Verwenden Sie Formelausdrücke](formula-expressions.md).
**Wichtig**  <a name="transform-input-rules"></a>
Transformationen können Eigenschaften vom Typ Integer, Double, Boolean oder Zeichenfolge eingeben. Boolesche Werte werden in `0` (falsch) und (wahr) konvertiert. `1`  
Transformationen müssen eine oder mehrere Eigenschaften, die keine Attribute sind, und eine beliebige Anzahl von Attributeigenschaften eingeben. AWS IoT SiteWise berechnet jedes Mal einen neuen transformierten Datenpunkt, wenn die Eingabeeigenschaft, bei der es sich nicht um ein Attribut handelt, einen neuen Datenpunkt erhält. Neue Attributwerte starten keine Transformationsaktualisierungen. Für Ergebnisse der Transformationsberechnung gilt dieselbe Anforderungsrate für API-Operationen mit Objektdaten.  
<a name="formula-output-rules"></a>Formelausdrücke können nur Doppelwerte oder Zeichenkettenwerte ausgeben. Verschachtelte Ausdrücke können andere Datentypen ausgeben, z. B. Zeichenfolgen, aber die Formel als Ganzes muss eine Zahl oder Zeichenfolge ergeben. Sie können die [Funktion jp](expression-string-functions.md#jp-definition) verwenden, um eine Zeichenfolge in eine Zahl umzuwandeln. Der boolesche Wert muss 1 (wahr) oder 0 (falsch) sein. Weitere Informationen finden Sie unter [Undefinierte, unendliche und Überlaufwerte](expression-tutorials.md#undefined-values).

Weitere Informationen finden Sie unter [Erstellen Sie ein Asset-Modell (Konsole)](create-asset-models.md#create-asset-model-console).

## Definieren Sie Transformationen ()AWS CLI
<a name="define-transform-cli"></a>

Wenn Sie mit der AWS IoT SiteWise API eine Transformation für ein Asset-Modell definieren, geben Sie die folgenden Parameter an:
+ <a name="asset-property-name-cli"></a>`name`— Der Name der Immobilie.
+ <a name="asset-property-unit-cli"></a>`unit`— (Optional) Die wissenschaftliche Einheit für die Eigenschaft, z. B. mm oder Celsius.
+ `dataType`— Der Datentyp der Transformation, der `DOUBLE` oder sein muss`STRING`.
+ `externalId`— (Optional) Dies ist eine benutzerdefinierte ID. Weitere Informationen finden Sie unter [Referenzobjekte mit externen IDs](object-ids.md#external-id-references) im *AWS IoT SiteWise -Benutzerhandbuch*.
+ `expression`— Der Transformationsausdruck. Transformationsausdrücke können keine Aggregationsfunktionen oder Temporalfunktionen verwenden. Weitere Informationen finden Sie unter [Verwenden Sie Formelausdrücke](formula-expressions.md).
+ `variables`— Die Liste der Variablen, die die anderen Eigenschaften Ihres Assets definiert, die im Ausdruck verwendet werden sollen. Jede Variablenstruktur enthält einen einfachen Namen, der in dem Ausdruck verwendet werden soll, sowie eine `value`-Struktur zur Identifizierung der mit dieser Variablen zu verknüpfenden Eigenschaft. Die `value`-Struktur enthält folgende Informationen:
  + `propertyId`— Die ID der Eigenschaft, aus der Werte eingegeben werden sollen. Sie können den Namen der Eigenschaft anstelle der ID verwenden.
**Wichtig**  <a name="transform-input-rules"></a>
Transformationen können Eigenschaften vom Typ Integer, Double, Boolean oder Zeichenfolge eingeben. Boolesche Werte werden in `0` (falsch) und (wahr) konvertiert. `1`  
Transformationen müssen eine oder mehrere Eigenschaften, die keine Attribute sind, und eine beliebige Anzahl von Attributeigenschaften eingeben. AWS IoT SiteWise berechnet jedes Mal einen neuen transformierten Datenpunkt, wenn die Eingabeeigenschaft, bei der es sich nicht um ein Attribut handelt, einen neuen Datenpunkt erhält. Neue Attributwerte starten keine Transformationsaktualisierungen. Für Ergebnisse der Transformationsberechnung gilt dieselbe Anforderungsrate für API-Operationen mit Objektdaten.  
<a name="formula-output-rules"></a>Formelausdrücke können nur Doppelwerte oder Zeichenkettenwerte ausgeben. Verschachtelte Ausdrücke können andere Datentypen ausgeben, z. B. Zeichenfolgen, aber die Formel als Ganzes muss eine Zahl oder Zeichenfolge ergeben. Sie können die [Funktion jp](expression-string-functions.md#jp-definition) verwenden, um eine Zeichenfolge in eine Zahl umzuwandeln. Der boolesche Wert muss 1 (wahr) oder 0 (falsch) sein. Weitere Informationen finden Sie unter [Undefinierte, unendliche und Überlaufwerte](expression-tutorials.md#undefined-values).

**Example Definition transformieren**  
Das folgende Beispiel zeigt eine Transformationseigenschaft, die die Temperaturmessdaten einer Komponente von Celsius in Fahrenheit konvertiert. Dieses Objekt ist ein Beispiel für ein [AssetModelProperty](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_AssetModelProperty.html), das eine [Transformation](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_Transform.html) enthält. Sie können dieses Objekt als Teil der [CreateAssetModel](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_CreateAssetModel.html)-Anforderungs-Nutzlast angeben, um eine Transformationseigenschaft zu erstellen. Weitere Informationen finden Sie unter [Erstellen Sie ein Asset-Modell (AWS CLI)](create-asset-models.md#create-asset-model-cli).  

```
{
...
"assetModelProperties": [
...
{
  "name": "Temperature F",
  "dataType": "DOUBLE",
  "type": {
    "transform": {
      "expression": "9/5 * temp_c + 32",
      "variables": [
        {
          "name": "temp_c",
          "value": {
            "propertyId": "Temperature C"
          }
        }
      ]
    }
  },
  "unit": "Fahrenheit"
}
],
...
}
```

**Example Transformationsdefinition, die drei Variablen enthält**  
Das folgende Beispiel zeigt eine Transformationseigenschaft, die eine Warnmeldung (`"Caution"`) zurückgibt, wenn mehr als 10 Prozent der BLT123 Teile nicht der Norm entsprechen. Andernfalls wird eine Informationsmeldung (`"Normal"`) zurückgegeben.  

```
{
...
"assetModelProperties": [
...
{
"name": "Quality_Monitor",
"dataType": "STRING",
"type": {
    "transform": {
        "expression": "if(eq(Part_Number,"BLT123") and (Bad_Count / (Good_Count + Bad_Count) > 0.1), "Caution", "Normal")",
        "variables": [
            {
                "name": "Part_Number",
                "value": {
                    "propertyId": "Part Number"
                }
            },
            {
                "name": "Good_Count",
                "value": {
                    "propertyId": "Good Count"
                }
            },
            {
                "name": "Bad_Count",
                "value": {
                    "propertyId": "Bad Count"
                }
            }
        ]
    }
}
}
...
}
```

# Aggregieren Sie Daten aus Immobilien und anderen Vermögenswerten (Metriken)
<a name="metrics"></a>

Metriken sind mathematische Ausdrücke, die Aggregationsfunktionen verwenden, um alle Eingabedatenpunkte zu verarbeiten und einen einzelnen Datenpunkt pro festgelegtem Zeitintervall auszugeben. Eine Metrik kann beispielsweise die stündliche Durchschnittstemperatur aus einem Temperaturdaten-Stream berechnen.

Metriken können Daten aus Metriken zugehöriger Komponenten eingeben, sodass Sie Statistiken berechnen können, die einen Einblick in die Operation oder eine Teilmenge der Operation gewähren. Beispielsweise kann eine Metrik die durchschnittliche stündliche Temperatur für alle Windturbinen in einem Windpark berechnen. Weitere Informationen zum Definieren von Verknüpfungen zwischen Komponenten finden Sie unter [Definieren Sie die Hierarchien der Anlagenmodelle](define-asset-hierarchies.md).

Metriken können auch Daten aus anderen Eigenschaften eingeben, ohne die Daten für jedes Zeitintervall zu aggregieren. Wenn Sie ein [Attribut](attributes.md) in einer Formel angeben, AWS IoT SiteWise verwendet es bei der Berechnung der Formel den [neuesten](expression-temporal-functions.md#latest-definition) Wert für dieses Attribut. Wenn Sie eine Metrik in einer Formel angeben, AWS IoT SiteWise verwendet es den [letzten](expression-temporal-functions.md#last-definition) Wert für das Zeitintervall, über das die Formel berechnet wird. Das bedeutet, dass Sie Metriken wie `OEE = Availability * Quality * Performance` `Availability``Quality`, wo und wie alle anderen Metriken für dasselbe Asset-Modell `Performance` sind, definieren können.

AWS IoT SiteWise berechnet außerdem automatisch eine Reihe grundlegender Aggregationsmetriken für alle Asset-Eigenschaften. Um Berechnungskosten zu reduzieren, können Sie diese Aggregate verwenden, anstatt benutzerdefinierte Metriken für grundlegende Berechnungen zu definieren. Weitere Informationen finden Sie unter [Abfragen von Asset-Eigenschaftenaggregaten in AWS IoT SiteWise](aggregates.md).

**Topics**
+ [

## Metriken definieren (Konsole)
](#define-metrics-console)
+ [

## Definieren Sie Metriken ()AWS CLI
](#define-metrics-cli)

## Metriken definieren (Konsole)
<a name="define-metrics-console"></a>

Wenn Sie in der AWS IoT SiteWise Konsole eine Metrik für ein Asset-Modell definieren, geben Sie die folgenden Parameter an:
+ <a name="asset-property-name-console"></a>**Name** — Der Name der Immobilie.
+ **Datentyp** — Der Datentyp der Transformation, der **Double** oder **String** sein kann.
+ **Externe ID** — (Optional) Dies ist eine benutzerdefinierte ID. Weitere Informationen finden Sie unter [Referenzobjekte mit externen IDs](object-ids.md#external-id-references) im *AWS IoT SiteWise -Benutzerhandbuch*.
+ **Formel** — Der metrische Ausdruck. Metrische Ausdrücke können [Aggregationsfunktionen](expression-aggregation-functions.md) verwenden, um Daten aus einer Eigenschaft für alle zugehörigen Anlagen in einer Hierarchie einzugeben. Beginnen Sie mit der Eingabe oder drücken Sie die Abwärtspfeiltaste, um die Funktion zur auto Vervollständigung zu öffnen. Weitere Informationen finden Sie unter [Verwenden Sie Formelausdrücke](formula-expressions.md).
**Wichtig**  <a name="metric-input-rules"></a>
Bei Metriken kann es sich nur um Eigenschaften vom Typ Integer, Double, Boolean oder Zeichenfolge handeln. Boolesche Werte werden in `0` (falsch) und `1` (wahr) konvertiert.  
Wenn Sie Metrikeingabevariablen im Ausdruck einer Metrik definieren, muss für diese Eingaben dasselbe Zeitintervall wie für die Ausgabemetrik gelten.  
<a name="formula-output-rules"></a>Formelausdrücke können nur Doppelwerte oder Zeichenkettenwerte ausgeben. Verschachtelte Ausdrücke können andere Datentypen ausgeben, z. B. Zeichenfolgen, aber die Formel als Ganzes muss eine Zahl oder Zeichenfolge ergeben. Sie können die [Funktion jp](expression-string-functions.md#jp-definition) verwenden, um eine Zeichenfolge in eine Zahl umzuwandeln. Der boolesche Wert muss 1 (wahr) oder 0 (falsch) sein. Weitere Informationen finden Sie unter [Undefinierte, unendliche und Überlaufwerte](expression-tutorials.md#undefined-values).
+ **Zeitintervall** — Das metrische Zeitintervall. <a name="metric-window-info"></a>AWS IoT SiteWise unterstützt die folgenden Zeitintervalle im Taumelfenster, wobei jedes Intervall beginnt, wenn das vorherige endet:
  + **1 Minute** — <a name="metric-window-1m"></a>1 Minute, berechnet am Ende jeder Minute (00:00:00 Uhr, 12:01:00 Uhr, 12:02:00 Uhr usw.).
  + **5 Minuten** — <a name="metric-window-5m"></a>5 Minuten, berechnet am Ende aller fünf Minuten, beginnend mit der vollen Stunde (00:00:00 Uhr, 12:05:00 Uhr, 00:10:00 Uhr usw.).
  + **15 Minuten** — <a name="metric-window-15m"></a>15 Minuten, berechnet am Ende aller fünfzehn Minuten ab der vollen Stunde (00:00:00 Uhr, 00:15:00 Uhr, 12:30:00 Uhr usw.).
  + **1 Stunde** — <a name="metric-window-1h"></a>1 Stunde (60 Minuten), berechnet am Ende jeder Stunde in UTC (12:00:00 Uhr, 01:00:00 Uhr, 02:00:00 Uhr usw.).
  + **1 Tag** — <a name="metric-window-1d"></a>1 Tag (24 Stunden), berechnet am Ende eines jeden Tages in UTC (Montag 12:00:00 Uhr, Dienstag 12:00:00 Uhr usw.).
  + **1 Woche** — <a name="metric-window-1w"></a>1 Woche (7 Tage), berechnet am Ende jedes Sonntags in UTC (jeden Montag um 00:00:00 Uhr).
  + **Benutzerdefiniertes Intervall** — Sie können ein beliebiges Zeitintervall zwischen einer Minute und einer Woche eingeben.
+ **Offsetdatum** — (Optional) Das Referenzdatum, ab dem Daten aggregiert werden sollen.
+ **Offsetzeit** — (Optional) Die Referenzzeit, ab der Daten aggregiert werden sollen. Die Offsetzeit muss zwischen 00:00:00 und 23:59:59 liegen.
+ **Offset-Zeitzone** — (Optional) Die Zeitzone für den Offset. Wenn sie nicht angegeben ist, ist die standardmäßige Offset-Zeitzone die koordinierte Weltzeit (UTC). Sehen Sie sich die folgenden unterstützten Zeitzonen an.

### Unterstützte Zeitzonen
<a name="supported-time-zones"></a>
+ (UTC\$1 00:00) Koordinierte Weltzeit
+ (UTC\$1 01:00) Europäische Zentralzeit
+ (UTC\$1 02:00) Osteuropäische
+ (UTC03\$1:00) Ostafrikanische Zeit
+ (UTC\$1 04:00) Nahöstliche Zeit
+ (UTC\$1 05:00) Pakistan Lahore-Zeit
+ (UTC\$1 05:30) Indien Normalzeit
+ (UTC\$1 06:00) Bangladesch-Normalzeit
+ (UTC\$1 07:00) Vietnam Normalzeit
+ 
+ (UTC\$1 09:00) Japan Normalzeit
+ (UTC\$1 09:30) Australien Zentralzeit
+ (UTC\$1 10:00) Australien Ostzeit
+ (UTC\$1 11:00) Salomonische Normalzeit
+ (UTC\$1 12:00) Neuseeland Normalzeit
+ (UTC- 11:00) Midway-Inseln-Zeit
+ (UTC- 10:00) Hawaii-Normalzeit
+ (UTC- 09:00) Alaska-Normalzeit
+ (UTC- 08:00) Pazifische Standardzeit
+ (UTC- 07:00) Phoenix-Standardzeit
+ (UTC- 06:00) Zentrale Standardzeit
+ (UTC- 05:00) Östliche Standardzeit
+ (UTC- 04:00) Zeit in Puerto Rico und den Amerikanischen Jungferninseln
+ (UTC- 03:00) Argentinien Normalzeit
+ (UTC- 02:00) Südgeorgische Zeit
+ (UTC- 01:00) Zentralafrikanische Zeit

**Example benutzerdefiniertes Zeitintervall mit einem Offset (Konsole)**  
Das folgende Beispiel zeigt Ihnen, wie Sie ein 12-Stunden-Zeitintervall mit einem Offset am 20. Februar 2021 um 18:30:30 Uhr (PST) definieren.  

**Um ein benutzerdefiniertes Intervall mit einem Offset zu definieren**

1. Wählen Sie für **Zeitintervall** die Option **Benutzerdefiniertes Intervall** aus.

1. Führen Sie für **Zeitintervall** einen der folgenden Schritte aus:
   + Geben Sie **Stunden** ein**12**, und wählen Sie dann aus.
   + Geben Sie ein**720**, und wählen Sie dann **Minuten** aus.
   + Geben Sie ein**43200**, und wählen Sie dann **Sekunden**.
**Wichtig**  
Das **Zeitintervall** muss unabhängig von der Einheit eine Ganzzahl sein.

1. Wählen Sie **2021/02/20** als **Offset-Datum** aus.

1. Geben Sie für **Offsetzeit den Wert** ein. **18:30:30**

1. Wählen Sie für **Offset-Zeitzone** **(UTC- 08:00) Pacific Standard Time** aus.
Wenn Sie die Metrik am 1. Juli 2021 vor oder um 18:30 Uhr (PST) erstellen, erhalten Sie das erste Aggregationsergebnis am 1. Juli 2021 um 18:30 Uhr (PST). Das zweite Aggregationsergebnis wird am 2. Juli 2021 um 06:30:30 Uhr (PST) usw. angezeigt.

## Definieren Sie Metriken ()AWS CLI
<a name="define-metrics-cli"></a>

Wenn Sie mit der AWS IoT SiteWise API eine Metrik für ein Asset-Modell definieren, geben Sie die folgenden Parameter an:
+ <a name="asset-property-name-cli"></a>`name`— Der Name der Immobilie.
+ `dataType`— Der Datentyp der Metrik, der `DOUBLE` oder sein kann`STRING`.
+ `externalId`— (Optional) Dies ist eine benutzerdefinierte ID. Weitere Informationen finden Sie unter [Referenzobjekte mit externen IDs](object-ids.md#external-id-references) im *AWS IoT SiteWise -Benutzerhandbuch*.
+ `expression`— Der metrische Ausdruck. Metrische Ausdrücke können [Aggregationsfunktionen](expression-aggregation-functions.md) verwenden, um Daten aus einer Eigenschaft für alle zugehörigen Anlagen in einer Hierarchie einzugeben. Weitere Informationen finden Sie unter [Verwenden Sie Formelausdrücke](formula-expressions.md).
+ `window`— Das Zeitintervall und der Offset für das Taumelfenster der Metrik, wobei jedes Intervall beginnt, wenn das vorherige endet:
  + `interval`— Das Zeitintervall für das Taumelfenster. Das Zeitintervall muss zwischen einer Minute und einer Woche liegen.
  + `offsets`— Der Offset für das Taumelfenster. 

  Weitere Informationen finden Sie unter [TumblingWindow](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_TumblingWindow.html) in der *AWS IoT SiteWise -API-Referenz*.  
**Example benutzerdefiniertes Zeitintervall mit einem Offset ()AWS CLI**  

  Das folgende Beispiel zeigt Ihnen, wie Sie ein 12-Stunden-Zeitintervall mit einem Offset am 20. Februar 2021 um 18:30:30 Uhr (PST) definieren.

  ```
  {
      "window": {
          "tumbling": {
              "interval": "12h",
              "offset": " 2021-07-23T18:30:30-08"
          }
      }
  }
  ```

  Wenn Sie die Metrik am 1. Juli 2021 vor oder um 18:30 Uhr (PST) erstellen, erhalten Sie das erste Aggregationsergebnis am 1. Juli 2021 um 18:30 Uhr (PST). Das zweite Aggregationsergebnis wird am 2. Juli 2021 um 06:30:30 Uhr (PST) usw. angezeigt.
+ `variables`— Die Variablenliste, die die anderen Eigenschaften Ihrer Anlage oder Ihrer untergeordneten Anlagen definiert, die in dem Ausdruck verwendet werden sollen. Jede Variablenstruktur enthält einen einfachen Namen, der in dem Ausdruck verwendet werden soll, sowie eine `value`-Struktur zur Identifizierung der mit dieser Variablen zu verknüpfenden Eigenschaft. Die `value`-Struktur enthält folgende Informationen:
  + `propertyId`— Die ID der Eigenschaft, aus der Werte abgerufen werden sollen. Sie können den Namen der Eigenschaft anstelle der ID verwenden, wenn die Eigenschaft im aktuellen Modell (und nicht in einem Modell aus einer Hierarchie) definiert ist.
  + `hierarchyId`— (Optional) Die ID der Hierarchie, aus der untergeordnete Vermögenswerte für die Eigenschaft abgefragt werden sollen. Sie können den Namen der Hierarchiedefinition anstelle der ID verwenden. Wenn Sie diesen Wert weglassen, AWS IoT SiteWise wird die Eigenschaft im aktuellen Modell gesucht.
**Wichtig**  <a name="metric-input-rules"></a>
Bei Metriken kann es sich nur um Eigenschaften vom Typ Integer, Double, Boolean oder Zeichenfolge handeln. Boolesche Werte werden in `0` (falsch) und `1` (wahr) konvertiert.  
Wenn Sie Metrikeingabevariablen im Ausdruck einer Metrik definieren, muss für diese Eingaben dasselbe Zeitintervall wie für die Ausgabemetrik gelten.  
<a name="formula-output-rules"></a>Formelausdrücke können nur Doppelwerte oder Zeichenkettenwerte ausgeben. Verschachtelte Ausdrücke können andere Datentypen ausgeben, z. B. Zeichenfolgen, aber die Formel als Ganzes muss eine Zahl oder Zeichenfolge ergeben. Sie können die [Funktion jp](expression-string-functions.md#jp-definition) verwenden, um eine Zeichenfolge in eine Zahl umzuwandeln. Der boolesche Wert muss 1 (wahr) oder 0 (falsch) sein. Weitere Informationen finden Sie unter [Undefinierte, unendliche und Überlaufwerte](expression-tutorials.md#undefined-values).
+ <a name="asset-property-unit-cli"></a>`unit`— (Optional) Die wissenschaftliche Einheit für die Eigenschaft, z. B. mm oder Celsius.

**Example Beispiel für eine Metrik-Definition**  
Das folgende Beispiel zeigt eine Metrikeigenschaft, die die Temperaturmessdaten einer Komponente aggregiert, um die maximale Durchschnittstemperatur in Fahrenheit zu berechnen. Dieses Objekt ist ein Beispiel für ein Objekt [AssetModelProperty](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_AssetModelProperty.html), das eine [Metrik](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_Metric.html) enthält. Sie können dieses Objekt als Teil der [CreateAssetModel](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_CreateAssetModel.html)-Anforderungs-Nutzlast angeben, um eine Metrik-Eigenschaft zu erstellen. Weitere Informationen finden Sie unter [Erstellen Sie ein Asset-Modell (AWS CLI)](create-asset-models.md#create-asset-model-cli).  

```
{
      ...
      "assetModelProperties": [
      ...
      {
        "name": "Max temperature",
        "dataType": "DOUBLE",
        "type": {
          "metric": {
            "expression": "max(temp_f)",
            "variables": [
              {
                "name": "temp_f",
                "value": {
                  "propertyId": "Temperature F"
                }
              }
            ],
            "window": {
              "tumbling": {
                "interval": "1h"
              }
            }
          }
        },
        "unit": "Fahrenheit"
      }
    ],
    ...
}
```

**Example Beispiel für eine Metrikdefinition, die Daten aus zugehörigen Anlagen eingibt**  
Das folgende Beispiel zeigt eine metrische Eigenschaft, die die durchschnittlichen Leistungsdaten mehrerer Windturbinen aggregiert, um die durchschnittliche Gesamtleistung für einen Windpark zu berechnen. [Dieses Objekt ist ein Beispiel für ein Objekt [AssetModelProperty](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_AssetModelProperty.html), das eine Metrik enthält.](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_Metric.html) Sie können dieses Objekt als Teil der [CreateAssetModel](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_CreateAssetModel.html)-Anforderungs-Nutzlast angeben, um eine Metrik-Eigenschaft zu erstellen.   

```
{
      ...
      "assetModelProperties": [
      ...
      {
          "name": "Total Average Power",
          "dataType": "DOUBLE",
          "type": {
            "metric": {
              "expression": "avg(power)",
              "variables": [
                {
                  "name": "power",
                  "value": {
                    "propertyId": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE",
                    "hierarchyId": "Turbine Asset Model"
                  }
                }
              ],
              "window": {
                "tumbling": {
                  "interval": "5m"
                }
              }
            }
        },
        "unit": "kWh"
      }
    ],
    ...
}
```

# Verwenden Sie Formelausdrücke
<a name="formula-expressions"></a>

Mit Formelausdrücken können Sie die mathematischen Funktionen definieren, um Ihre industriellen Rohdaten zu transformieren und zu aggregieren, sodass Sie Einblicke in Ihre Operation gewinnen. Formelausdrücke kombinieren Literale, Operatoren, Funktionen und Variablen, um Daten zu verarbeiten. Weitere Informationen zur Definition von Asset-Eigenschaften, die Formelausdrücke verwenden, finden Sie unter [Daten transformieren (transformiert)](transforms.md) und[Aggregieren Sie Daten aus Immobilien und anderen Vermögenswerten (Metriken)](metrics.md). Transformationen und Metriken sind Formeleigenschaften.

**Topics**
+ [

# Verwenden Sie Variablen in Formelausdrücken
](expression-variables.md)
+ [

# Verwenden Sie Literale in Formelausdrücken
](expression-literals.md)
+ [

# Verwenden Sie Operatoren in Formelausdrücken
](expression-operators.md)
+ [

# Verwenden Sie Konstanten in Formelausdrücken
](expression-constants.md)
+ [

# Verwenden Sie Funktionen in Formelausdrücken
](expression-functions.md)
+ [

# Tutorials zu Formelausdrücken
](expression-tutorials.md)

# Verwenden Sie Variablen in Formelausdrücken
<a name="expression-variables"></a>

Variablen stellen AWS IoT SiteWise Asset-Eigenschaften in Formelausdrücken dar. Verwenden Sie Variablen, um Werte aus anderen Objekteigenschaften in Ihre Ausdrücke einzugeben, sodass Sie Daten aus konstanten Eigenschaften ([Attributen](attributes.md)), Rohdatenströmen ([Messungen](measurements.md)) und anderen Formeleigenschaften verarbeiten können.

Variablen können Anlageneigenschaften aus demselben Anlagenmodell oder aus zugehörigen untergeordneten Anlagenmodellen darstellen. Nur metrische Formeln können Variablen aus untergeordneten Vermögensmodellen eingeben.

Sie identifizieren Variablen in der Konsole und in der API mit unterschiedlichen Namen.
+ **AWS IoT SiteWise Konsole** — Verwenden Sie die Namen von Asset-Eigenschaften als Variablen in Ihren Ausdrücken.
+ **AWS IoT SiteWise API (AWS CLI, AWS SDKs)** — Definieren Sie Variablen mit der [ExpressionVariable](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_ExpressionVariable.html)Struktur, die einen Variablennamen und einen Verweis auf eine Asset-Eigenschaft erfordert. Der Variablenname kann Kleinbuchstaben, Zahlen und Unterstriche enthalten. Verwenden Sie dann Variablennamen, um in Ihren Ausdrücken auf Asset-Eigenschaften zu verweisen.

Bei Variablennamen wird zwischen Groß- und Kleinschreibung unterschieden.

Weitere Informationen finden Sie unter [Transformationen definieren](transforms.md) und [Metriken definieren](metrics.md).

## Verwenden Sie Variablen, um auf Eigenschaften zu verweisen
<a name="variable-values"></a>

Der *Wert* einer Variablen definiert die Eigenschaft, auf die sie verweist. AWS IoT SiteWise bietet verschiedene Möglichkeiten, dies zu tun.
+ **Nach Eigenschafts-ID:** Sie können die eindeutige ID (UUID) der Immobilie angeben, um sie zu identifizieren.
+ **Nach Namen:** Wenn sich die Immobilie auf demselben Objektmodell befindet, können Sie ihren Namen im Feld Eigenschafts-ID angeben.
+ **Nach Pfad:** Ein Variablenwert kann anhand seines *Pfads auf eine Eigenschaft verweisen.* Weitere Informationen finden Sie unter [Verwenden Sie Pfade, um auf benutzerdefinierte Eigenschaften von Verbundmodellen zu verweisen](custom-composite-models.md#property-paths).

**Anmerkung**  
 Variablen werden von der AWS IoT SiteWise Konsole nicht unterstützt. Sie werden von der AWS IoT SiteWise API verwendet, einschließlich der AWS Command Line Interface AWS CLI) und AWS SDKs. 

 Eine Variable, von der Sie in einer Antwort erhalten, AWS IoT SiteWise enthält vollständige Informationen über den Wert, einschließlich der ID und des Pfads.

 Wenn Sie jedoch eine Variable an übergeben AWS IoT SiteWise (z. B. bei einem „create“ - oder „update“ -Aufruf), müssen Sie nur eine dieser Variablen angeben. Wenn Sie beispielsweise den Pfad angeben, müssen Sie die ID nicht angeben. 

# Verwenden Sie Literale in Formelausdrücken
<a name="expression-literals"></a>

AWS IoT SiteWise unterstützt die Verwendung von Literalen in Ausdrücken und Formeln. Literale sind feste Werte, die einen bestimmten Datentyp repräsentieren. In AWS IoT SiteWise können Sie Zahlen- und Zeichenkettenliterale in Formelausdrücken definieren. Literale können in verschiedenen Kontexten verwendet werden, einschließlich Datentransformationen, Alarmbedingungen und Visualisierungsberechnungen.


+ <a name="number-literal-definition"></a>**Zahlen**

  Verwenden Sie Zahlen und wissenschaftliche Schreibweise, um ganze Zahlen und Doppelzahlen zu definieren. Sie können die [E-Notation](https://en.wikipedia.org/wiki/Scientific_notation#E_notation) verwenden, um Zahlen in wissenschaftlicher Schreibweise auszudrücken.

  Beispiele: `1``2.0`,`.9`,`-23.1`,`7.89e3`, `3.4E-5`
+ <a name="string-literal-definition"></a>**Zeichenfolgen**

  Verwenden Sie die Zeichen `'` (Anführungszeichen) und `"` (doppelte Anführungszeichen), um Zeichenketten zu definieren. Der Zitattyp für Anfang und Ende muss übereinstimmen. Um ein Anführungszeichen zu maskieren, das dem entspricht, das Sie zur Deklaration einer Zeichenfolge verwenden, fügen Sie dieses Anführungszeichen zweimal ein. Dies ist das einzige Escape-Zeichen in AWS IoT SiteWise Zeichenketten.

  Beispiele: `'active'`, `"inactive"`, `'{"temp": 52}'`, `"{""temp"": ""high""}"`

# Verwenden Sie Operatoren in Formelausdrücken
<a name="expression-operators"></a>

Sie können die folgenden gängigen Operatoren in Formelausdrücken verwenden.


| Operator | Description | 
| --- | --- | 
|  `+`  |  Wenn beide Operanden Zahlen sind, addiert dieser Operator den linken und den rechten Operanden. Wenn einer der Operanden eine Zeichenfolge ist, verkettet dieser Operator den linken und den rechten Operanden als Zeichenketten. Der Ausdruck wird beispielsweise zu ausgewertet. `1 + 2 + " is three"` `"3 is three"` Die verkettete Zeichenfolge kann bis zu 1024 Zeichen enthalten. Wenn die Zeichenfolge 1024 Zeichen überschreitet, wird AWS IoT SiteWise kein Datenpunkt für diese Berechnung ausgegeben.  | 
|  `-`  |  Subtrahiert den rechten Operanden vom linken Operanden <a name="operator-numbers-only"></a>Sie können diesen Operator nur mit numerischen Operanden verwenden.  | 
|  `/`  |  Dividiert den linken Operanden durch den rechten Operanden <a name="operator-numbers-only"></a>Sie können diesen Operator nur mit numerischen Operanden verwenden.  | 
|  `*`  |  Multipliziert die linken und rechten Operanden. <a name="operator-numbers-only"></a>Sie können diesen Operator nur mit numerischen Operanden verwenden.  | 
|  `^`  |  Hebt den linken Operanden auf die Potenz des rechten Operanden (Exponentiation). <a name="operator-numbers-only"></a>Sie können diesen Operator nur mit numerischen Operanden verwenden.  | 
|  `%`  |  Gibt den Rest zurück, der beim Dividieren des linken Operanden durch den rechten Operanden entsteht. Das Ergebnis hat das gleiche Zeichen wie der linke Operand. Dieses Verhalten unterscheidet sich von der Modulo-Operation. <a name="operator-numbers-only"></a>Sie können diesen Operator nur mit numerischen Operanden verwenden.  | 
|  `x < y`  |  Gibt zurück`1`, wenn kleiner als `x` ist`y`, andernfalls`0`.  | 
|  `x > y`  |  Gibt zurück`1`, wenn größer als `x` ist`y`, andernfalls`0`.  | 
|  `x <= y`  |  Gibt zurück`1`, ob kleiner oder gleich `x` ist`y`, andernfalls`0`.  | 
|  `x >= y`  |  Gibt zurück`1`, ob größer als oder gleich `x` ist`y`, andernfalls`0`.  | 
|  `x == y`  |  Gibt zurück`1`, ob gleich `x` ist`y`, andernfalls`0`.  | 
|  `x != y`  |  Gibt zurück`1`, wenn nicht gleich `x` ist`y`, andernfalls`0`.  | 
|  `!x`  |  Gibt zurück`1`, ob als `0` (falsch) ausgewertet `x` wird, andernfalls`0`. `x`wird als falsch bewertet, wenn:  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/iot-sitewise/latest/userguide/expression-operators.html)  | 
|  `x and y`  |  Gibt zurück`0`, ob als `0` (falsch) ausgewertet `x` wird. Andernfalls wird das ausgewertete Ergebnis von zurückgegeben`y`. `x`oder `y` wird als falsch bewertet, wenn:  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/iot-sitewise/latest/userguide/expression-operators.html)  | 
|  `x or y`  |  Gibt zurück`1`, ob als `1` (wahr) ausgewertet `x` wird. Andernfalls wird das ausgewertete Ergebnis von zurückgegeben`y`. `x`oder `y` wird als falsch bewertet, wenn:  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/iot-sitewise/latest/userguide/expression-operators.html)  | 
|  `not x`  |  Gibt zurück`1`, ob als `0` (falsch) ausgewertet `x` wird, andernfalls`0`. `x`wird als falsch bewertet, wenn:  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/iot-sitewise/latest/userguide/expression-operators.html)  | 
|   `[]` `s[index]`  |  Gibt das Zeichen an einem Index `index` der Zeichenfolge zurück`s`. Dies entspricht der Indexsyntax in Python. 

**Example Beispiele**  
+ `"Hello!"[1]` gibt `e` zurück.
+ `"Hello!"[-2]` gibt `o` zurück.  | 
|   `[]` `s[start:end:step]`  |  Gibt einen Teil der Zeichenfolge zurück`s`. Dies entspricht der Slice-Syntax in Python. Dieser Operator hat die folgenden Argumente: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/iot-sitewise/latest/userguide/expression-operators.html) Sie können das `step` Argument weglassen, um seinen Standardwert zu verwenden. Beispiel: `s[1:4:1]` ist gleichbedeutend mit `s[1:4]`. Bei den Argumenten muss es sich um ganze Zahlen oder um die Konstante [None handeln](expression-constants.md#none-definition). Wenn Sie angeben`none`, AWS IoT SiteWise wird der Standardwert für dieses Argument verwendet. 

**Example Beispiele**  
+ `"Hello!"[1:4]` gibt `"ell"` zurück.
+ `"Hello!"[:2]` gibt `"He"` zurück.
+ `"Hello!"[3:]` gibt `"lo!"` zurück.
+ `"Hello!"[:-4]` gibt `"He"` zurück.
+ `"Hello!"[::2]` gibt `"Hlo"` zurück.
+ `"Hello!"[::-1]` gibt `"!olleH"` zurück.  | 

# Verwenden Sie Konstanten in Formelausdrücken
<a name="expression-constants"></a>

In AWS IoT SiteWise können Sie Konstanten in Ihren Ausdrücken und Formeln verwenden, um feste Werte oder vordefinierte Parameter darzustellen. Konstanten können in verschiedenen Kontexten verwendet werden, z. B. bei Datentransformationen, Alarmbedingungen oder Visualisierungsberechnungen. Durch die Verwendung von Konstanten können Sie Ihre Ausdrücke vereinfachen und sie lesbarer und verwaltbarer machen.

Sie können die folgenden allgemeinen mathematischen Konstanten in Ihren Ausdrücken verwenden. Bei allen Konstanten wird nicht zwischen Groß- und Kleinschreibung unterschieden.

**Anmerkung**  
Wenn Sie eine Variable mit demselben Namen wie eine Konstante definieren, überschreibt die Variable die Konstante.


| Konstante | Description | 
| --- | --- | 
|  `pi`  |  Die Zahl pi (`π`): `3.141592653589793`  | 
|  `e`  |  Die Zahl e: `2.718281828459045`  | 
|  `true`  |  Entspricht der Zahl 1. In werden AWS IoT SiteWise Boolesche Werte in ihre Zahlenäquivalente umgewandelt.  | 
|  `false`  |  Entspricht der Zahl 0. In werden AWS IoT SiteWise Boolesche Werte in ihre Zahlenäquivalente umgewandelt.  | 
|   `none`  |  Entspricht keinem Wert. Sie können diese Konstante verwenden, um nichts als Ergebnis eines [bedingten Ausdrucks](expression-conditional-functions.md) auszugeben.  | 

# Verwenden Sie Funktionen in Formelausdrücken
<a name="expression-functions"></a>

Sie können die folgenden Funktionen verwenden, um mit Daten in Ihren Formelausdrücken zu arbeiten.

Transformationen und Metriken unterstützen verschiedene Funktionen. Die folgende Tabelle zeigt, welche Funktionstypen mit den einzelnen Typen von Formeleigenschaften kompatibel sind.

**Anmerkung**  
Sie können maximal 10 Funktionen in einen Formelausdruck aufnehmen.


| Typ der Funktion | Transformiert | Kennzahlen | 
| --- | --- | --- | 
|  [Verwenden Sie allgemeine Funktionen in Formelausdrücken](expression-common-functions.md)  |  <a name="polaris-yes-para"></a>![\[A green circle with a checkmark for yes.\]](http://docs.aws.amazon.com/de_de/iot-sitewise/latest/userguide/images/icon-yes.png) Ja  |  <a name="polaris-yes-para"></a>![\[A green circle with a checkmark for yes.\]](http://docs.aws.amazon.com/de_de/iot-sitewise/latest/userguide/images/icon-yes.png) Ja  | 
|  [Verwenden Sie Vergleichsfunktionen in Formelausdrücken](expression-comparison-functions.md)  |  <a name="polaris-yes-para"></a>![\[A green circle with a checkmark for yes.\]](http://docs.aws.amazon.com/de_de/iot-sitewise/latest/userguide/images/icon-yes.png) Ja  |  <a name="polaris-yes-para"></a>![\[A green circle with a checkmark for yes.\]](http://docs.aws.amazon.com/de_de/iot-sitewise/latest/userguide/images/icon-yes.png) Ja  | 
|  [Verwenden Sie bedingte Funktionen in Formelausdrücken](expression-conditional-functions.md)  |  <a name="polaris-yes-para"></a>![\[A green circle with a checkmark for yes.\]](http://docs.aws.amazon.com/de_de/iot-sitewise/latest/userguide/images/icon-yes.png) Ja  |  <a name="polaris-yes-para"></a>![\[A green circle with a checkmark for yes.\]](http://docs.aws.amazon.com/de_de/iot-sitewise/latest/userguide/images/icon-yes.png) Ja  | 
|  [Verwenden Sie Zeichenkettenfunktionen in Formelausdrücken](expression-string-functions.md)  |  <a name="polaris-yes-para"></a>![\[A green circle with a checkmark for yes.\]](http://docs.aws.amazon.com/de_de/iot-sitewise/latest/userguide/images/icon-yes.png) Ja  |  <a name="polaris-yes-para"></a>![\[A green circle with a checkmark for yes.\]](http://docs.aws.amazon.com/de_de/iot-sitewise/latest/userguide/images/icon-yes.png) Ja  | 
|  [Verwenden Sie Aggregationsfunktionen in Formelausdrücken](expression-aggregation-functions.md)  |  <a name="polaris-no-para"></a>![\[A red circle with the letter x for no.\]](http://docs.aws.amazon.com/de_de/iot-sitewise/latest/userguide/images/icon-no.png) Nein  |  <a name="polaris-yes-para"></a>![\[A green circle with a checkmark for yes.\]](http://docs.aws.amazon.com/de_de/iot-sitewise/latest/userguide/images/icon-yes.png) Ja  | 
|  [Verwenden Sie temporale Funktionen in Formelausdrücken](expression-temporal-functions.md)  |  <a name="polaris-yes-para"></a>![\[A green circle with a checkmark for yes.\]](http://docs.aws.amazon.com/de_de/iot-sitewise/latest/userguide/images/icon-yes.png) Ja  |  <a name="polaris-yes-para"></a>![\[A green circle with a checkmark for yes.\]](http://docs.aws.amazon.com/de_de/iot-sitewise/latest/userguide/images/icon-yes.png) Ja  | 
|  [Verwenden Sie Datums- und Uhrzeitfunktionen in Formelausdrücken](expression-date-and-time-functions.md)  |  <a name="polaris-yes-para"></a>![\[A green circle with a checkmark for yes.\]](http://docs.aws.amazon.com/de_de/iot-sitewise/latest/userguide/images/icon-yes.png) Ja  |  <a name="polaris-yes-para"></a>![\[A green circle with a checkmark for yes.\]](http://docs.aws.amazon.com/de_de/iot-sitewise/latest/userguide/images/icon-yes.png) Ja  | 

## Syntax der Funktion
<a name="expression-function-syntax"></a>

Sie können die folgende Syntax verwenden, um Funktionen zu erstellen:

Reguläre Syntax  
Bei der regulären Syntax folgen auf den Funktionsnamen Klammern mit null oder mehr Argumenten.  
`function_name(argument1, argument2, argument3, ...)`. Funktionen mit der regulären Syntax könnten beispielsweise wie `log(x)` und aussehen`contains(s, substring)`.

Einheitliche Syntax für Funktionsaufrufe (UFCS)  
Mit UFCS können Sie Funktionen mithilfe der Syntax für Methodenaufrufen in der objektorientierten Programmierung aufrufen. Bei UFCS folgt auf das erste Argument Punkt (`.`), dann der Funktionsname und die verbleibenden Argumente (falls vorhanden) in Klammern.  
`argument1.function_name(argument2, argument3, ...)`. Funktionen mit UFCS könnten beispielsweise wie `x.log()` und `s.contains(substring)` aussehen.  
Sie können UFCS auch verwenden, um nachfolgende Funktionen zu verketten. AWS IoT SiteWise verwendet das Auswertungsergebnis der aktuellen Funktion als erstes Argument für die nächste Funktion.  
Sie können beispielsweise `message.jp('$.status').lower().contains('fail')` anstelle von verwenden`contains(lower(jp(message, '$.status')),'fail')`.  
Weitere Informationen finden Sie auf der Website der [Programmiersprache D.](https://tour.dlang.org/tour/en/gems/uniform-function-call-syntax-ufcs)

**Anmerkung**  
Sie können UFCS für alle AWS IoT SiteWise Funktionen verwenden.  
AWS IoT SiteWise Bei Funktionen wird nicht zwischen Groß- und Kleinschreibung unterschieden. Beispielsweise können Sie `lower(s)` und `Lower(s)` synonym verwenden.

# Verwenden Sie allgemeine Funktionen in Formelausdrücken
<a name="expression-common-functions"></a>

In [Transformationen](transforms.md) und [Metriken](metrics.md) können Sie die folgenden Funktionen verwenden, um allgemeine mathematische Funktionen in Transformationen und Metriken zu berechnen.


| Funktion | Description | 
| --- | --- | 
|  `abs(x)`  |  Gibt den absoluten Wert von `x` zurück.  | 
|  `acos(x)`  |  Gibt den Arkuskosinus von `x` zurück.  | 
|  `asin(x)`  |  Gibt den Arkussinus von `x` zurück.  | 
|  `atan(x)`  |  Gibt den Arkustangens von `x` zurück.  | 
|  `cbrt(x)`  |  Gibt die Kubikwurzel von `x` zurück.  | 
|  `ceil(x)`  |  Gibt die nächste Ganzzahl zurück, die größer als `x` ist.  | 
|  `cos(x)`  |  Gibt den Kosinus von `x` zurück.  | 
|  `cosh(x)`  |  Gibt den hyperbolischen Kosinus von `x` zurück.  | 
|  `cot(x)`  |  Gibt den Kotangens von zurück. `x`  | 
|  `exp(x)`  |  Gibt `e` hoch `x` zurück.  | 
|  `expm1(x)`  |  Gibt `exp(x) - 1` zurück. Verwenden Sie diese Funktion, um kleinere Werte von genauer `exp(x) - 1` zu berechnen. `x`  | 
|  `floor(x)`  |  Gibt die nächste ganze Zahl zurück, die kleiner als `x` ist.  | 
|  `log(x)`  |  Gibt `loge` (Basis `e`) von `x` zurück.  | 
|  `log10(x)`  |  Gibt `log10` (Basis `10`) von `x` zurück.  | 
|  `log1p(x)`  |  Gibt `log(1 + x)` zurück. Verwenden Sie diese Funktion, um kleinere Werte von genauer zu berechnen `log(1 + x)``x`.  | 
|  `log2(x)`  |  Gibt `log2` (Basis `2`) von `x` zurück.  | 
|  `pow(x, y)`  |  Gibt `x` hoch `y` zurück. Das entspricht`x ^ y`.  | 
|  `signum(x)`  |  Gibt das Vorzeichen von `x` (`-1` für negative Eingaben, `0` für Nulleingaben, `+1` für positive Eingaben) zurück.  | 
|  `sin(x)`  |  Gibt den Sinus von `x` zurück.  | 
|  `sinh(x)`  |  Gibt den hyperbolischen Sinus von `x` zurück.  | 
|  `sqrt(x)`  |  Gibt die Quadratwurzel von `x` zurück.  | 
|  `tan(x)`  |  Gibt den Tangens von `x` zurück.  | 
|  `tanh(x)`  |  Gibt den hyperbolischen Tangens von `x` zurück.  | 

# Verwenden Sie Vergleichsfunktionen in Formelausdrücken
<a name="expression-comparison-functions"></a>

In [Transformationen](transforms.md) und [Metriken](metrics.md) können Sie die folgenden Vergleichsfunktionen verwenden, um zwei Werte zu vergleichen und `1` (wahr) oder `0` (falsch) auszugeben. AWS IoT SiteWise vergleicht Zeichenketten in [lexikografischer](https://en.wikipedia.org/wiki/Lexicographic_order) Reihenfolge.


| Funktion | Description | 
| --- | --- | 
|  `gt(x, y)`  |  Gibt `1` zurück, wenn `x` größer als `y` ist, andernfalls `0` (`x > y`). <a name="comparison-function-incompatible-types"></a>Diese Funktion gibt keinen Wert zurück, wenn `x` es sich um inkompatible Typen `y` handelt, z. B. eine Zahl und eine Zeichenfolge.  | 
|  `gte(x, y)`  |  Gibt `1` zurück, wenn `x` größer oder gleich `y` ist, andernfalls `0` (`x ≥ y`). <a name="comparison-function-relative-tolerance"></a>AWS IoT SiteWise betrachtet die Argumente als gleich, wenn sie innerhalb einer relativen Toleranz von liegen`1E-9`. Dies verhält sich ähnlich wie die Funktion [isclose](https://docs.python.org/3/library/math.html#math.isclose) in Python. <a name="comparison-function-incompatible-types"></a>Diese Funktion gibt keinen Wert zurück, wenn `x` es sich um inkompatible Typen `y` handelt, z. B. eine Zahl und eine Zeichenfolge.  | 
|  `eq(x, y)`  |  Gibt `1` zurück, wenn `x` gleich `y` ist, andernfalls `0` (`x == y`). <a name="comparison-function-relative-tolerance"></a>AWS IoT SiteWise betrachtet die Argumente als gleich, wenn sie innerhalb einer relativen Toleranz von liegen`1E-9`. Dies verhält sich ähnlich wie die Funktion [isclose](https://docs.python.org/3/library/math.html#math.isclose) in Python. <a name="comparison-function-incompatible-types"></a>Diese Funktion gibt keinen Wert zurück, wenn `x` es sich um inkompatible Typen `y` handelt, z. B. eine Zahl und eine Zeichenfolge.  | 
|  `lt(x, y)`  |  Gibt `1` zurück, wenn `x` kleiner als `y` ist, andernfalls `0` (`x < y`). <a name="comparison-function-incompatible-types"></a>Diese Funktion gibt keinen Wert zurück, wenn `x` es sich um inkompatible Typen `y` handelt, z. B. eine Zahl und eine Zeichenfolge.  | 
|  `lte(x, y)`  |  Gibt `1` zurück, wenn `x` kleiner oder gleich `y` ist, andernfalls `0` (`x ≤ y`). <a name="comparison-function-relative-tolerance"></a>AWS IoT SiteWise betrachtet die Argumente als gleich, wenn sie innerhalb einer relativen Toleranz von liegen`1E-9`. Dies verhält sich ähnlich wie die Funktion [isclose](https://docs.python.org/3/library/math.html#math.isclose) in Python. <a name="comparison-function-incompatible-types"></a>Diese Funktion gibt keinen Wert zurück, wenn `x` es sich um inkompatible Typen `y` handelt, z. B. eine Zahl und eine Zeichenfolge.  | 
|  `isnan(x)`  |  Gibt zurück`1`, ob gleich `x` ist`NaN`, andernfalls`0`. Diese Funktion gibt keinen Wert zurück, wenn `x` es sich um eine Zeichenfolge handelt.  | 

# Verwenden Sie bedingte Funktionen in Formelausdrücken
<a name="expression-conditional-functions"></a>

In [Transformationen](transforms.md) und [Metriken](metrics.md) 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 | Description | 
| --- | --- | 
|   `if(condition, result_if_true, result_if_false)`  |  Wertet das aus `condition` und gibt zurück`result_if_true`, ob die Bedingung als wahr oder `result_if_false` als wahr ausgewertet wird. `false` `condition`muss eine Zahl sein. Diese Funktion betrachtet `0` eine leere Zeichenfolge als `false` und alles andere (einschließlich`NaN`) als`true`. Boolesche Werte werden in `0` (falsch) und `1` (wahr) umgewandelt. Sie können die [Konstante none](expression-constants.md#none-definition) 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](expression-tutorials.md#filter-data). 

**Example Beispiele**  
+ `if(0, x, y)`gibt die Variable zurück`y`.
+ `if(5, x, y)`gibt die Variable zurück`x`.
+ `if(gt(temp, 300), x, y)`gibt die Variable zurück`x`, wenn die Variable größer als `temp` ist`300`.
+ `if(gt(temp, 300), temp, none)`gibt die Variable zurück, `temp` wenn sie größer oder gleich ist`300`, oder `none` (kein Wert), wenn sie kleiner als `temp` ist`300`. Es wird empfohlen, UFCS für verschachtelte bedingte Funktionen zu verwenden, 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 verwenden`if(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.  Sie müssen es `elif(condition, result_if_true, result_if_false)` mit UFCS verwenden.   | 

# Verwenden Sie Zeichenkettenfunktionen in Formelausdrücken
<a name="expression-string-functions"></a>

In [Transformationen](transforms.md) und [Metriken](metrics.md) können Sie die folgenden Funktionen verwenden, um mit Zeichenketten zu arbeiten. Weitere Informationen finden Sie unter [Verwenden Sie Zeichenketten in Formeln](expression-tutorials.md#use-strings-in-formulas).

**Wichtig**  
<a name="formula-output-rules"></a>Formelausdrücke können nur Doppel- oder Zeichenkettenwerte ausgeben. Verschachtelte Ausdrücke können andere Datentypen ausgeben, z. B. Zeichenfolgen, aber die Formel als Ganzes muss eine Zahl oder Zeichenfolge ergeben. Sie können die [Funktion jp](#jp-definition) verwenden, um eine Zeichenfolge in eine Zahl umzuwandeln. Der boolesche Wert muss 1 (wahr) oder 0 (falsch) sein. Weitere Informationen finden Sie unter [Undefinierte, unendliche und Überlaufwerte](expression-tutorials.md#undefined-values).


| Funktion | Description | 
| --- | --- | 
|  `len(s)`  |  Gibt die Länge der Zeichenfolge zurück. `s`  | 
|  `find(s, substring)`  |  Gibt den Index der Zeichenfolge `substring` in der Zeichenfolge zurück`s`.  | 
|  `contains(s, substring)`  |  Gibt zurück`1`, ob die Zeichenfolge die Zeichenfolge `s` enthält`substring`, andernfalls`0`.  | 
|  `upper(s)`  |  Gibt die Zeichenfolge `s` in Großbuchstaben zurück.  | 
|  `lower(s)`  |  Gibt die Zeichenfolge `s` in Kleinbuchstaben zurück.  | 
|   `jp(s, json_path)`  |  Wertet die Zeichenfolge `s` mit dem [JsonPath](https://github.com/json-path/JsonPath)Ausdruck aus `json_path` und gibt das Ergebnis zurück. Verwenden Sie diese Funktion, um Folgendes zu tun: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/iot-sitewise/latest/userguide/expression-string-functions.html) Um einen Zeichenkettenwert aus einer JSON-Struktur zu extrahieren und ihn als Zahl zurückzugeben, müssen Sie mehrere verschachtelte `jp` Funktionen verwenden. Die äußere `jp` Funktion extrahiert die Zeichenfolge aus der JSON-Struktur, und die innere `jp` Funktion konvertiert die Zeichenfolge in eine Zahl. Die Zeichenfolge `json_path` muss ein Zeichenfolgenliteral enthalten. Das bedeutet, dass es `json_path` sich nicht um einen Ausdruck handeln kann, der zu einer Zeichenfolge ausgewertet wird. 

**Example Beispiele**  
+ `jp('{"status":"active","value":15}', '$.value')` gibt `15` zurück.
+ `jp('{"measurement":{"reading":25,"confidence":0.95}}', '$.measurement.reading')` gibt `25` zurück.
+ `jp('[2,8,23]', '$[2]')` gibt `23` zurück.
+ `jp('{"values":[3,6,7]}', '$.values[1]')` gibt `6` zurück.
+ `jp('111', '$')` gibt `111` zurück.
+ `jp(jp('{"measurement":{"reading":25,"confidence":"0.95"}}', '$.measurement.confidence'), '$')` gibt `0.95` zurück.  | 
|  `join(s0, s1, s2, s3, ...)`  |  Gibt eine verkettete Zeichenfolge mit einem Trennzeichen zurück. Diese Funktion verwendet die erste Eingabezeichenfolge als Trennzeichen und verbindet die verbleibenden Eingabezeichenfolgen miteinander. Dies verhält sich ähnlich wie die Funktion [join (CharSequence delimiter, CharSequence... elements](https://docs.oracle.com/javase/8/docs/api/java/lang/String.html#join-java.lang.CharSequence-java.lang.CharSequence...-)) in Java. 

**Example Beispiele**  
+ `join("-", "aa", "bb", "cc")`gibt zurück `aa-bb-cc`  | 
|  `format(expression: "format")` oder `format("format", expression)`  |  Gibt eine Zeichenfolge im angegebenen Format zurück. Diese Funktion ergibt `expression` einen Wert und gibt den Wert dann im angegebenen Format zurück. Dies verhält sich ähnlich wie die Funktion [format (String-Format, Object... args)](https://docs.oracle.com/javase/8/docs/api/java/lang/String.html#format-java.lang.String-java.lang.Object...-) in Java. Weitere Informationen zu unterstützten Formaten finden Sie unter Konvertierungen unter [Class Formatter](https://docs.oracle.com/javase/7/docs/api/java/util/Formatter.html) in der API-Spezifikation für *Java Platform, Standard Edition 7.* 

**Example Beispiele**  
+ `format(100+1: "d")`gibt eine Zeichenfolge zurück,`101`.
+ `format("The result is %d", 100+1)`gibt eine Zeichenfolge zurück,`The result is 101`.  | 
|  `f'expression'`  |  Gibt eine verkettete Zeichenfolge zurück. Mit dieser formatierten Funktion können Sie einen einfachen Ausdruck verwenden, um Zeichenketten zu verketten und zu formatieren. Diese Funktionen können verschachtelte Ausdrücke enthalten. Sie können `{}` (geschweifte Klammern) verwenden, um Ausdrücke zu interpolieren. Dies verhält sich ähnlich wie die [formatierten Zeichenkettenliterale](https://docs.python.org/3/reference/lexical_analysis.html#f-strings) in Python. 

**Example Beispiele**  
+ `f'abc{1+2: "f"}d'` gibt `abc3.000000d` zurück. Gehen Sie wie folgt vor, um diesen Beispielausdruck auszuwerten:

  1. `format(1+2: "f")`gibt eine Fließkommazahl zurück,`3.000000`.

  1. `join('', "abc", 1+2, 'd')`gibt eine Zeichenfolge zurück,`abc3.000000d`.

  Sie können den Ausdruck auch auf folgende Weise schreiben:`join('', "abc", format(1+2: "f"), 'd')`.  | 

# Verwenden Sie Aggregationsfunktionen in Formelausdrücken
<a name="expression-aggregation-functions"></a>

Nur in [Metriken](metrics.md) können Sie die folgenden Funktionen verwenden, um Eingabewerte für jedes Zeitintervall zu aggregieren und einen einzelnen Ausgabewert zu berechnen. Einige Aggregationsfunktionen können keine Daten aus zugeordneten Komponenten aggregieren.

Argumente für Aggregationsfunktionen können [Variablen](expression-variables.md), [Zahlenliterale](expression-literals.md#number-literal-definition), [zeitliche Funktionen](expression-temporal-functions.md), verschachtelte Ausdrücke oder Aggregationsfunktionen sein. Die Formel `max(latest(x), latest(y), latest(z))` verwendet eine Aggregationsfunktion als Argument und gibt den größten aktuellen Wert der `x` Eigenschaften, und zurück. `y` `z`

Sie können verschachtelte Ausdrücke in Aggregationsfunktionen verwenden. Wenn Sie verschachtelte Ausdrücke verwenden, gelten die folgenden Regeln: 
+ Jedes Argument kann nur eine Variable haben.  
**Example**  

  Zum Beispiel `avg(x*(x-1))` und `sum(x/2 )/avg(y^2 )` werden unterstützt.

  Wird beispielsweise `min(x/y)` nicht unterstützt.
+ Jedes Argument kann verschachtelte Ausdrücke mit mehreren Ebenen haben.  
**Example**  

  Wird beispielsweise unterstützt`sum(avg(x^2 )/2)`.
+ Verschiedene Argumente können unterschiedliche Variablen haben.  
**Example**  

  `sum(x/2, y*2)`Wird beispielsweise unterstützt.

**Anmerkung**  
Wenn Ihre Ausdrücke Messungen enthalten, AWS IoT SiteWise verwendet die letzten Werte im aktuellen Zeitintervall für die Messungen, um Aggregate zu berechnen.
Wenn Ihre Ausdrücke Attribute enthalten, AWS IoT SiteWise verwendet die neuesten Werte für die Attribute, um Aggregate zu berechnen.


| Funktion | Description | 
| --- | --- | 
|  `avg(x0, ..., xn)`  |  Gibt den Mittelwert der angegebenen Variablen werte über das aktuelle Zeitintervall zurück. <a name="aggregation-function-no-output"></a>Diese Funktion gibt nur dann einen Datenpunkt aus, wenn die angegebenen Variablen im aktuellen Zeitintervall mindestens einen Datenpunkt haben.  | 
|   `sum(x0, ..., xn)`  |  Gibt die Summe der angegebenen Variablenwerte über das aktuelle Zeitintervall zurück. <a name="aggregation-function-no-output"></a>Diese Funktion gibt nur dann einen Datenpunkt aus, wenn die angegebenen Variablen im aktuellen Zeitintervall mindestens einen Datenpunkt haben.  | 
|  `min(x0, ..., xn)`  |  Gibt den Mindestwert der angegebenen Variablenwerte über das aktuelle Zeitintervall zurück. <a name="aggregation-function-no-output"></a>Diese Funktion gibt nur dann einen Datenpunkt aus, wenn die angegebenen Variablen im aktuellen Zeitintervall mindestens einen Datenpunkt haben.  | 
|  `max(x0, ..., xn)`  |  Gibt den Höchstwert der angegebenen Variablenwerte über das aktuelle Zeitintervall zurück. <a name="aggregation-function-no-output"></a>Diese Funktion gibt nur dann einen Datenpunkt aus, wenn die angegebenen Variablen im aktuellen Zeitintervall mindestens einen Datenpunkt haben.  | 
|  `count(x0, ..., xn)`  |  Gibt die Gesamtanzahl der Datenpunkte für die angegebenen Variablen über das aktuelle Zeitintervall zurück. Weitere Informationen zum Zählen der Datenpunkte, die eine Bedingung erfüllen, finden Sie unter [Zählen Sie Datenpunkte, die einer Bedingung entsprechen](expression-tutorials.md#count-filtered-data). <a name="aggregation-function-always-output"></a>Diese Funktion berechnet einen Datenpunkt für jedes Zeitintervall.  | 
| `stdev(x0, ..., xn)` | Gibt die Standardabweichung der Werte der angegebenen Variablen über das aktuelle Zeitintervall zurück. Diese Funktion gibt nur dann einen Datenpunkt aus, wenn die angegebenen Variablen im aktuellen Zeitintervall mindestens einen Datenpunkt haben.  | 

# Verwenden Sie temporale Funktionen in Formelausdrücken
<a name="expression-temporal-functions"></a>

Verwenden Sie temporale Funktionen, um Werte zurückzugeben, die auf Zeitstempeln von Datenpunkten basieren.

## Verwenden Sie temporale Funktionen in Metriken
<a name="temporal-functions-in-metrics"></a>

Nur in [Metriken](metrics.md) können Sie die folgenden Funktionen verwenden, die Werte auf der Grundlage von Zeitstempeln von Datenpunkten zurückgeben.

Bei den Argumenten für temporale Funktionen muss es sich um Eigenschaften aus dem lokalen Objektmodell oder um verschachtelte Ausdrücke handeln. Das bedeutet, dass Sie keine Eigenschaften aus untergeordneten Vermögensmodellen in temporalen Funktionen verwenden können.

Sie können verschachtelte Ausdrücke in zeitlichen Funktionen verwenden. Wenn Sie verschachtelte Ausdrücke verwenden, gelten die folgenden Regeln: 
+ Jedes Argument kann nur eine Variable haben.

  `latest( t*9/5 + 32 )`Wird beispielsweise unterstützt.
+ Argumente können keine Aggregationsfunktionen sein.

  Wird beispielsweise `first( sum(x) )` nicht unterstützt.


| Funktion | Description | 
| --- | --- | 
|  `first(x)`  |  Gibt den Wert der angegebenen Variablen mit dem frühesten Zeitstempel über das aktuelle Zeitintervall hinweg zurück.  | 
|   `last(x)` |  Gibt den Wert der angegebenen Variablen mit dem spätesten Zeitstempel über das aktuelle Zeitintervall hinweg zurück.  | 
|  `earliest(x)`  |  Gibt den letzten Wert der angegebenen Variablen vor dem Beginn des aktuellen Zeitintervalls zurück. Diese Funktion berechnet einen Datenpunkt für jedes Zeitintervall, wenn die Eingabeeigenschaft mindestens einen Datenpunkt im Verlauf hat. Details dazu finden Sie unter [time-range-defintion](#time-range-def).   | 
|   `latest(x)` |  Gibt den letzten Wert der angegebenen Variablen mit dem letzten Zeitstempel vor dem Ende des aktuellen Zeitintervalls zurück. Diese Funktion berechnet einen Datenpunkt für jedes Zeitintervall, wenn die Eingabeeigenschaft mindestens einen Datenpunkt im Verlauf hat. Details dazu finden Sie unter [time-range-defintion](#time-range-def).  | 
|   `statetime(x)`  |  Gibt die Zeitspanne in Sekunden zurück, in der die angegebenen Variablen im aktuellen Zeitintervall positiv sind. Sie können die [Vergleichsfunktionen](expression-comparison-functions.md) verwenden, um eine Transformationseigenschaft zu erstellen, die von der `statetime` Funktion verwendet werden soll.  Wenn Sie beispielsweise eine `Idle`-Eigenschaft haben, für die `0` oder `1` gilt, können Sie die Leerlaufzeit pro Zeitintervall mit diesem Ausdruck berechnen: `IdleTime = statetime(Idle)`. Weitere Informationen finden Sie im [Beispielzustandszeitszenario](#statetime-example). Diese Funktion unterstützt keine Metrikeigenschaften als Eingabevariablen. Diese Funktion berechnet einen Datenpunkt für jedes Zeitintervall, wenn die Eingabeeigenschaft mindestens einen Datenpunkt im Verlauf hat.  | 
|   `TimeWeightedAvg(x, [interpolation])`  | Gibt den Durchschnitt der Eingabedaten zurück, gewichtet mit Zeitintervallen zwischen Punkten.Einzelheiten zur Berechnung und zu den Intervallen finden Sie unter [Parameter für zeitgewichtete Funktionen](#timeweighted-parameter).Das optionale Argument `interpolaton` muss eine Zeichenkettenkonstante sein:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/iot-sitewise/latest/userguide/expression-temporal-functions.html) | 
|   `TimeWeightedStDev(x, [algo])`  |  Gibt die Standardabweichung der Eingabedaten zurück, gewichtet mit Zeitintervallen zwischen Punkten.  Einzelheiten zu Berechnungen und Intervallen finden Sie unter [Parameter für zeitgewichtete Funktionen](#timeweighted-parameter).  Bei der Berechnung wird der Berechnungsalgorithmus Last Observed Carry Forward für Intervalle zwischen Datenpunkten verwendet. Bei diesem Ansatz wird der Datenpunkt als letzter beobachteter Wert bis zum Zeitstempel des nächsten Eingabedatenpunkts berechnet. Die Gewichtung wird als Zeitintervall in Sekunden zwischen Datenpunkten oder Fenstergrenzen berechnet.  Das optionale Argument `algo` muss eine Zeichenkettenkonstante sein: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/iot-sitewise/latest/userguide/expression-temporal-functions.html) Die folgenden Formeln werden für Berechnungen verwendet, wobei: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/iot-sitewise/latest/userguide/expression-temporal-functions.html) Gleichung für die Standardabweichung der Grundgesamtheit: ![\[Gleichung für die Standardabweichung der Population.\]](http://docs.aws.amazon.com/de_de/iot-sitewise/latest/userguide/images/timeweightedstdev1.png) Gleichung für die Frequenzstandardabweichung: ![\[Gleichung für die Frequenzstandardabweichung.\]](http://docs.aws.amazon.com/de_de/iot-sitewise/latest/userguide/images/timeweighted-frequency-stdev.png)  | 

Das folgende Diagramm zeigt, wie die zeitlichen Funktionen`first`,, und `last` `earliest``latest`, relativ zum aktuellen Zeitintervall AWS IoT SiteWise berechnet werden.

![\[AWS IoT SiteWise Temporale Funktionen geben Datenpunkte auf der Grundlage ihres Zeitstempels zurück.\]](http://docs.aws.amazon.com/de_de/iot-sitewise/latest/userguide/images/sitewise-temporal-functions.png)
<a name="time-range-def"></a>

**Anmerkung**  
Der Zeitraum für`first(x)`, `last(x)` ist (aktueller Fensterstart, aktuelles Fensterende].
Der Zeitraum für `latest(x)` ist [Beginn der Zeit, Ende des aktuellen Fensters].
Der Zeitraum für `earliest(x)` ist [Beginn der Zeit, Ende des vorherigen Fensters].

**Parameter für zeitgewichtete Funktionen**

Bei den für das Aggregatfenster berechneten zeitgewichteten Funktionen wird Folgendes berücksichtigt:
+ Datenpunkte innerhalb des Fensters
+ Zeitintervalle zwischen Datenpunkten
+ Letzter Datenpunkt vor dem Fenster
+ Erster Datenpunkt nach dem Fenster (für einige Algorithmen)

**Bedingungen:**
+ **Schlechter Datenpunkt** — Jeder Datenpunkt mit nicht guter Qualität oder schlechtem Zahlenwert. Dies wird bei der Berechnung der Fensterergebnisse nicht berücksichtigt.
+ **Fehlerhaftes Intervall** — Das Intervall nach einem fehlerhaften Datenpunkt. Das Intervall vor dem ersten bekannten Datenpunkt wird ebenfalls als fehlerhaftes Intervall angesehen.
+ **Guter Datenpunkt** — Jeder Datenpunkt mit guter Qualität und numerischem Wert.

**Anmerkung**  
AWS IoT SiteWise verbraucht nur `GOOD` hochwertige Daten, wenn es Transformationen und Metriken berechnet. Es ignoriert alle Datenpunkte. `UNCERTAIN` `BAD`
Das Intervall vor dem ersten bekannten Datenpunkt wird als **schlechtes Intervall** angesehen. Weitere Informationen finden Sie unter [Tutorials zu Formelausdrücken](expression-tutorials.md).

Das Intervall nach dem letzten bekannten Datenpunkt dauert unbegrenzt und wirkt sich auf alle folgenden Fenster aus. Wenn ein neuer Datenpunkt eintrifft, berechnet die Funktion das Intervall neu.

Gemäß den obigen Regeln wird das aggregierte Fensterergebnis berechnet und auf Fenstergrenzen beschränkt. Standardmäßig sendet die Funktion das Fensterergebnis nur, wenn das gesamte Fenster ein **gutes Intervall aufweist**.

Wenn das **Intervall** für den Fensterwert kleiner als die Fensterlänge ist, sendet die Funktion das Fenster nicht. 

Wenn sich die Datenpunkte, die das Fensterergebnis beeinflussen, ändern, berechnet die Funktion das Fenster neu, auch wenn sich die Datenpunkte außerhalb des Fensters befinden. 

Wenn die Eingabeeigenschaft mindestens einen Datenpunkt in ihrer Historie hat und eine Berechnung eingeleitet wurde, berechnet die Funktion die zeitgewichteten Aggregatfunktionen für jedes Zeitintervall.

**Example Beispielzustandszeitszenario**  
Betrachten Sie ein Beispiel mit einer Komponente mit den folgenden Eigenschaften:  
+ `Idle`— Eine Messung, die oder ist. `0` `1` Wenn der Wert „`1`“ ist, befindet sich die Maschine im Leerlauf.
+ `Idle Time`— Eine Metrik, die anhand der Formel `statetime(Idle)` die Zeit in Sekunden berechnet, in der sich die Maschine im Leerlauf befindet, pro 1-Minuten-Intervall.
Die `Idle`-Eigenschaft verfügt über die folgenden Datenpunkte.  


|  |  |  |  |  |  | 
| --- |--- |--- |--- |--- |--- |
| Zeitstempel | 14:00:00 Uhr | 14:00:30 Uhr | 14:01:15 Uhr | 14:02:45 Uhr | 14:04:00 Uhr | 
| Idle | 0 | 1 | 1 | 0 | 0 | 
AWS IoT SiteWise berechnet die `Idle Time` Eigenschaft jede Minute aus den Werten von`Idle`. Nach Abschluss dieser Berechnung verfügt die `Idle Time`-Eigenschaft über die folgenden Datenpunkte.  


|  |  |  |  |  |  | 
| --- |--- |--- |--- |--- |--- |
| Zeitstempel | 14:00:00 Uhr | 14:01:00 Uhr | 14:02:00 Uhr | 14:03:00 Uhr | 14:04:00 Uhr | 
| Idle Time | – | 30 | 60 | 45 | 0 | 
AWS IoT SiteWise führt am Ende jeder Minute die folgenden Berechnungen durch. `Idle Time`  
+ Um 14:00 Uhr (für 13:59 Uhr bis 14:00 Uhr)
  + Vor 14:00 Uhr liegen keine Daten für `Idle` vor, daher wird kein Datenpunkt berechnet.
+ Um 14:01 Uhr (für 14:00 Uhr bis 14:01 Uhr)
  + Um 14:00:00 Uhr ist die Maschine aktiv (`Idle` ist `0`).
  + Um 14:00:30 Uhr befindet sich die Maschine im Leerlauf (`Idle` ist `1`).
  + `Idle` ändert sich vor dem Ende des Intervalls um 14:01:00 Uhr nicht mehr, `Idle Time` ist also 30 Sekunden.
+ Um 14:02 Uhr (für 14:01 bis 14:02 Uhr)
  + Um 14:01:00 Uhr befindet sich die Maschine im Leerlauf (entsprechend des letzten Datenpunkts um 14:00:30 Uhr).
  + Um 14:01:15 Uhr befindet sich die Maschine noch im Leerlauf.
  + `Idle` ändert sich vor dem Ende des Intervalls um 14:02:00 Uhr nicht mehr, `Idle Time` ist also 60 Sekunden.
+ Um 14:03 Uhr (für 14:02 Uhr bis 14:03 Uhr)
  + Um 14:02:00 Uhr befindet sich die Maschine im Leerlauf (entsprechend des letzten Datenpunkts um 14:01:15 Uhr).
  + Um 14:02:45 Uhr ist die Maschine aktiv.
  + `Idle` ändert sich vor dem Ende des Intervalls um 14:03:00 Uhr nicht mehr, `Idle Time` ist also 45 Sekunden.
+ Um 14:04 Uhr (für 14:03 Uhr bis 14:04 Uhr)
  + Um 14:03:00 Uhr ist die Maschine aktiv (entsprechend des letzten Datenpunkts um 14:02:45 Uhr).
  + `Idle` ändert sich vor dem Ende des Intervalls um 14:04:00 Uhr nicht mehr, `Idle Time` ist also 0 Sekunden.

**Example Beispiel TimeWeightedAvg und TimeWeightedStDev Szenario**  
Die folgenden Tabellen enthalten Beispieleingaben und -ausgaben für diese einminütigen Fenstermetriken:`Avg(x), TimeWeightedAvg(x), TimeWeightedAvg(x, "linear"), stDev(x), timeWeightedStDev(x), timeWeightedStDev(x, 'p')`.  
Beispieleingabe für ein einminütiges Aggregatfenster:  
Diese Datenpunkte sind alle `GOOD` qualitativ hochwertig.


|  |  | 
| --- |--- |
| 03:00:00 | 4,0 | 
| 03:01:00 | 2.0 | 
| 03:01:10 | 8.0 | 
| 03:01:50 | 20.0 | 
| 03:02:00 | 14,0 | 
| 03:02:05 | 10.0 | 
| 03:02:10 | 3.0 | 
| 03:02:30 | 20.0 | 
| 03:03:30 | 0.0 | 
Ausgabe aggregierter Ergebnisse:  
Keine — Für dieses Fenster wurde kein Ergebnis generiert.


| Zeit | `Avg(x)` | `TimeWeightedAvg(x)` | `TimeWeightedAvg(X, "linear")` | `stDev(X)` | `timeWeightedStDev(x)` | `timeWeightedStDev(x, 'p')` | 
| --- | --- | --- | --- | --- | --- | --- | 
| 3:00:00 | 4 | Keine | Keine | 0 | Keine | Keine | 
| 3:01:00 | 2 | 4 | 3 | 0 | 0 | 0 | 
| 3:02:00 | 14 | 9 | 13 | 6 | 5,430610041581775 | 5,385164807134504 | 
| 3:03:00 | 11 | 13 | 12,875 | 8,54400374531753 | 7,724054437220943 | 7,659416862050705 | 
| 3:04:00 | 0 | 10 | 2.5 | 0 | 10,084389681792215 | 10 | 
| 3:05:00 | Keine | 0 | 0 | Keine | 0 | 0 | 

## Verwenden Sie temporale Funktionen in Transformationen
<a name="temporal-functions-in-transforms"></a>

Nur bei [Transformationen](transforms.md) können Sie die `pretrigger()` Funktion verwenden, um den `GOOD` Qualitätswert für eine Variable vor der Eigenschaftenaktualisierung abzurufen, die die aktuelle Transformationsberechnung ausgelöst hat.

Stellen Sie sich ein Beispiel vor AWS IoT SiteWise , bei dem ein Hersteller den Status einer Maschine überwacht. Der Hersteller verwendet die folgenden Messungen und Transformationen, um den Prozess darzustellen:
+ Eine Messung`current_state`, die 0 oder 1 sein kann.
  + Wenn sich die Maschine im Reinigungszustand befindet, `current_state` entspricht dies 1.
  + Wenn sich die Maschine im Fertigungszustand befindet, `current_state` entspricht 0.
+ Eine Transformation`cleaning_state_duration`, das entspricht`if(pretrigger(current_state) == 1, timestamp(current_state) - timestamp(pretrigger(current_state)), none)`. Diese Transformation gibt im Unix-Epochenformat in Sekunden zurück, wie lange sich die Maschine im Reinigungszustand befunden hat. Weitere Informationen finden Sie unter [Verwenden Sie bedingte Funktionen in Formelausdrücken](expression-conditional-functions.md) und zur Funktion [timestamp ()](expression-date-and-time-functions.md).

Bleibt das Gerät länger als erwartet im Reinigungszustand, überprüft der Hersteller das Gerät möglicherweise.

Sie können die `pretrigger()` Funktion auch in multivariaten Transformationen verwenden. Sie haben beispielsweise zwei Messungen mit dem Namen `x` und und `y` eine Transformation`z`, die entspricht. `x + y + pretrigger(y)` Die folgende Tabelle zeigt die Werte für `x``y`, und `z` von 9:00 Uhr bis 9:15 Uhr.

**Anmerkung**  
In diesem Beispiel wird davon ausgegangen, dass die Werte für die Messungen chronologisch eintreffen. Beispielsweise kommt der Wert `x` für 09:00 Uhr vor dem Wert `x` für 09:05 Uhr an.
Wenn die Datenpunkte für 9:05 Uhr vor den Datenpunkten für 9:00 Uhr ankommen, wird um 9:05 Uhr `z` nicht berechnet.
Wenn der Wert `x` für 9:05 Uhr vor dem Wert für 09:00 Uhr eintrifft und die Werte `x` für chronologisch `y` eintreffen, `z` entspricht `22 = 20 + 1 + 1` dies um 9:05 Uhr.


|  | 09:00 UHR | 09:05 UHR | 09:10 UHR | 09:15 UHR | 
| --- | --- | --- | --- | --- | 
|  `x`  |  10  |  20  |    |  30  | 
|  `y`  |  1  |  2  |  3  |    | 
|  `z = x + y + pretrigger(y)`  |  `y`empfängt vor 09:00 Uhr keinen Datenpunkt. Wird daher `z` nicht um 09:00 Uhr berechnet.  |  23 = 20 \$1 2 \$1 1 `pretrigger(y)`entspricht 1.  |  25 = 20 \$1 3 \$1 2 `x`empfängt keinen neuen Datenpunkt. `pretrigger(y)`entspricht 2.  |  36 = 30 \$1 3 \$1 3 `y`empfängt keinen neuen Datenpunkt. Entspricht `pretrigger(y)` also 3 um 09:15 Uhr.  | 

# Verwenden Sie Datums- und Uhrzeitfunktionen in Formelausdrücken
<a name="expression-date-and-time-functions"></a>

In [Transformationen](transforms.md) und [Metriken](metrics.md) können Sie die Datums- und Uhrzeitfunktionen auf folgende Weise verwenden:
+ Ruft den aktuellen Zeitstempel eines Datenpunkts in UTC oder in der lokalen Zeitzone ab.
+ Konstruieren Sie Zeitstempel mit Argumenten wie `year``month`, und. `day_of_month`
+ Extrahieren Sie mit dem `unix_time` Argument einen Zeitraum, z. B. ein Jahr oder einen Monat.


| Funktion | Description | 
| --- | --- | 
|  `now()`  |  Gibt das aktuelle Datum und die aktuelle Uhrzeit in Sekunden im Unix-Epochenformat zurück.  | 
|  `timestamp()`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/iot-sitewise/latest/userguide/expression-date-and-time-functions.html)  | 
|  `mktime(time_zone, year, month, day_of_month, hour, minute, second)`  |  Gibt die Eingabezeit in Sekunden im Unix-Epochenformat zurück. Für die Verwendung dieser Funktion gelten die folgenden Anforderungen: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/iot-sitewise/latest/userguide/expression-date-and-time-functions.html) Für die Verwendung dieser Funktion gelten die folgenden Einschränkungen: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/iot-sitewise/latest/userguide/expression-date-and-time-functions.html) Beispiele: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/iot-sitewise/latest/userguide/expression-date-and-time-functions.html)  | 
|  `localtime(unix_time, time_zone)`  |  Gibt das Jahr, den Tag des Monats, den Wochentag, den Tag des Jahres, die Stunde, die Minute oder die Sekunde in der angegebenen Zeitzone aus der Unix-Zeit zurück. Für die Verwendung dieser Funktion gelten die folgenden Anforderungen: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/iot-sitewise/latest/userguide/expression-date-and-time-functions.html) Beispiel für eine Antwort: `2007-12-03T10:15:30+01:00[Europe/Paris]` `localtime(unix_time, time_zone)`ist keine eigenständige Funktion. Die `sec()` Funktionen `year()` `mon()``mday`,`wday()`,`yday()`,`hour()`,`minute()`, und nehmen `localtime(unix_time, time_zone)` als Argument an. Beispiele: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/iot-sitewise/latest/userguide/expression-date-and-time-functions.html)  | 
|  `year(localtime(unix_time, time_zone)`  |  Gibt das Jahr von zurück`localtime(unix_time, time_zone)`.  | 
|  `mon(localtime(unix_time, time_zone))`  |  Gibt den Monat von zurück`localtime(unix_time, time_zone)`.  | 
|  `mday(localtime(unix_time, time_zone))`  |  Gibt den Tag des Monats von zurück`localtime(unix_time, time_zone)`.  | 
|  `wday(localtime(unix_time, time_zone))`  |  Gibt den Wochentag von zurück`localtime(unix_time, time_zone)`.  | 
|  `yday(localtime(unix_time, time_zone))`  |  Gibt den Tag des Jahres von zurück`localtime(unix_time, time_zone)`.  | 
|  `hour(localtime(unix_time, time_zone))`  |  Gibt die Stunde von zurück`localtime(unix_time, time_zone)`.  | 
|  `minute(localtime(unix_time, time_zone))`  |  Gibt die Minute von zurück`localtime(unix_time, time_zone)`.  | 
|  `sec(localtime(unix_time, time_zone))`  |  Gibt die Sekunde von zurück`localtime(unix_time, time_zone)`.  | 

## Unterstützte Zeitzonenformate
<a name="time-zone-expressions"></a>

Sie können das Zeitzonenargument auf folgende Weise angeben:
+ Zeitzonen-Offset — Geben Sie `'Z'` UTC oder einen Offset (`'+2'`oder`'-5'`) an.
+ Offset IDs — Kombiniert eine Abkürzung für eine Zeitzone und einen Offset. Beispiel: `'GMT+2'` und `'UTC-01:00'`. Die Abkürzung für die Zeitzone darf nur drei Buchstaben enthalten.
+ Regionsbezogen IDs — Zum Beispiel `'Etc/GMT+12'` und`'Pacific/Pago_Pago'`.

### Unterstützte Abkürzungen für Zeitzonen
<a name="spported-time-zones"></a>

Die Datums- und Uhrzeitfunktionen unterstützen die folgenden aus drei Buchstaben bestehenden Abkürzungen für Zeitzonen: 
+ BESTE ZEIT - - 05:00
+ DONNERSTAG - - 10:00
+ MST - - 07:00
+ ACT - Australien/Darwin
+ AET - Australien/Sydney
+ AGT - \$1Aires America/Argentina/Buenos
+ ART - Afrika/Kairo
+ AST - Amerika/Anchorage
+ BET - Amerika/Sao\$1Paulo
+ BST - Asien/Dhaka
+ CAT - Afrika/Harare
+ MEZ - Europa/Paris
+ CNT - Amerika/St\$1Johns
+ CST - Amerika/Chicago
+ CTT - Asia/Shanghai 
+ EAT - Afrika/Addis\$1Abeba
+ DIÄT - America/Indiana/Indianapolis
+ IST - Asien/Kalkutta
+ JST - Asien/Tokio
+ MIT - Pazifik/Apia
+ NET - Asien/Eriwan
+ NST - Pazifik/Auckland
+ PLT - Asien/Karatschi
+ PRT - Amerika/Puerto\$1Rico
+ PST - Amerika/Los\$1Angeles
+ SST - Pazifik/Guadalcanal
+ VST - Asien/Ho\$1Chi\$1Minh

### Wird regional unterstützt IDs
<a name="supported-region-based-ids"></a>

Die Datums- und Uhrzeitfunktionen unterstützen die folgenden regionsbasierten Funktionen IDs, geordnet nach ihrem Verhältnis zu UTC\$1 00:00:
+ ETC/GMT\$112 (UTC-12:00)
+ Pazifik/Pago\$1Pago (UTC- 11:00)
+ Pazifik/Samoa (UTC- 11:00)
+ Pazifik/Niue (UTC- 11:00)
+ USA/Samoa (UTC- 11:00)
+ ETC/GMT\$111 (UTC-11:00)
+ Pazifik/Midway (UTC- 11:00)
+ Pazifik/Honolulu (UTC- 10:00)
+ Pazifik/Rarotonga (UTC- 10:00)
+ Pazifik/Tahiti (UTC- 10:00)
+ Pazifik/Johnston (UTC- 10:00)
+ USA/Hawaii (UTC- 10:00)
+ SystemV V/ HST10 (UTC- 10:00)
+ ETC/GMT\$110 (UTC-10:00)
+ Pazifik/Marquesas (UTC- 09:30)
+ ETC/GMT\$19 (UTC-09:00)
+ Pazifik/Gambier (UTC- 09:00)
+ Amerika/Atka (UTC- 09:00)
+ SystemV V/ YST9 (UTC- 09:00)
+ Amerika/Adak (UTC- 09:00)
+ USA/Aleuten (UTC- 09:00)
+ ETC/GMT\$18 (UTC-08:00)
+ USA/Alaska (UTC- 08:00)
+ Amerika/Juneau (UTC- 08:00)
+ Amerika/Metlakatla (UTC- 08:00)
+ Amerika/Yakutat (UTC- 08:00)
+ Pazifik/Pitcairninseln (UTC- 08:00)
+ Amerika/Sitka (UTC- 08:00)
+ Amerika/Anchorage (UTC- 08:00)
+ SystemV V/ PST8 (UTC- 08:00)
+ Amerika/Nome (UTC- 08:00)
+ YST9SystemV/YDT (UTC- 08:00)
+ Kanada/Yukon (UTC- 07:00)
+ USA/Pazifik-Neu (UTC- 07:00)
+ ETC/GMT\$17 (UTC-07:00)
+ Vereinigte Staaten von Amerika und Arizona (UTC- 07:00)
+ Amerika/Dawson\$1Creek (UTC- 07:00)
+ Kanada/Pazifik (UTC- 07:00)
+ PST8PDT (UTC-07:00)
+ SystemV V/ MST7 (UTC- 07:00)
+ Amerika/Dawson (UTC- 07:00)
+ Mexiko/ BajaNorte (UTC- 07:00)
+ Amerika/Tijuana (UTC- 07:00)
+ Amerika/Creston (UTC- 07:00)
+ Amerika/Hermosillo (UTC- 07:00)
+ Amerika/Santa\$1Isabel (UTC- 07:00)
+ Amerika/Vancouver (UTC- 07:00)
+ Amerika/Ensenada (UTC- 07:00)
+ Amerika/Phoenix (UTC- 07:00)
+ Amerika/Whitehorse (UTC- 07:00)
+ Amerika/Fort\$1Nelson (UTC- 07:00)
+ PST8SystemV/PDT (UTC- 07:00)
+ Amerika/Los\$1Angeles (UTC- 07:00)
+ USA/Pazifik (UTC- 07:00)
+ Amerika/El\$1Salvador (UTC- 06:00)
+ Amerika/Guatemala (UTC- 06:00)
+ Amerika/Belize (UTC- 06:00)
+ Amerika/Managua (UTC- 06:00)
+ Amerika/Tegucigalpa (UTC- 06:00)
+ ETC/GMT\$16 (UTC-06:00)
+ Pazifik/Ostern (UTC- 06:00)
+ Mexiko/ BajaSur (UTC- 06:00)
+ Amerika/Regina (UTC- 06:00)
+ Amerika/Denver (UTC- 06:00)
+ Pazifik/Galapagos (UTC- 06:00)
+ Amerika/Yellowknife (UTC- 06:00)
+ Amerika/Swift\$1Current (UTC- 06:00)
+ Amerika/Inuvik (UTC- 06:00)
+ Amerika/Mazatlan (UTC- 06:00)
+ Amerika/Boise (UTC- 06:00)
+ Amerika/Costa\$1Rica (UTC- 06:00)
+ MST7MDT (UTC-06:00)
+ SystemV V/ CST6 (UTC- 06:00)
+ Amerika/Chihuahua (UTC- 06:00)
+ Amerika/Ojinaga (UTC- 06:00)
+ Chile/ EasterIsland (UTC- 06:00)
+ USA/Berg (UTC- 06:00)
+ Amerika/Edmonton (UTC- 06:00)
+ Kanada/Berg (UTC- 06:00)
+ Amerika/Cambridge\$1Bay (UTC- 06:00)
+ Navajo (UTC-06:00)
+ MST7SystemV/MDT (UTC- 06:00)
+ Kanada/Saskatchewan (UTC- 06:00)
+ Amerika/Shiprock (UTC- 06:00)
+ Amerika/Panama (UTC- 05:00)
+ Amerika/Chicago (UTC- 05:00)
+ Amerika/Eirunepe (UTC- 05:00)
+ ETC/GMT\$15 (UTC-05:00)
+ Mexiko/Allgemein (UTC- 05:00)
+ Amerika/Porto\$1Acre (UTC- 05:00)
+ Amerika/Guayaquil (UTC- 05:00)
+ Amerika/Rankin\$1Inlet (UTC- 05:00)
+ USA/Zentral (UTC- 05:00)
+ Amerika/Rainy\$1River (UTC- 05:00)
+ America/Indiana/Knox(UTC- 05:00)
+ America/North\$1Dakota/Beulah(UTC- 05:00)
+ Amerika/Monterrey (UTC- 05:00)
+ Amerika/Jamaika (UTC- 05:00)
+ Amerika/Atikokan (UTC- 05:00)
+ Amerika/Coral\$1Harbour (UTC- 05:00)
+ America/North\$1Dakota/Center(UTC- 05:00)
+ Amerika/Cayman (UTC- 05:00)
+ America/Indiana/Tell\$1Stadt (UTC- 05:00)
+ Amerika/Mexiko\$1Stadt (UTC- 05:00)
+ Amerika/Matamoros (UTC- 05:00)
+ CST6CDT (UTC-05:00)
+ Amerika/Knox\$1IN (UTC-05:00)
+ Amerika/Bogota (UTC- 05:00)
+ Amerika/Menominee (UTC- 05:00)
+ Amerika/Resolute (UTC- 05:00)
+ SystemV V/ EST5 (UTC- 05:00)
+ Kanada/Central (UTC- 05:00)
+ Brasilien/Acre (UTC- 05:00)
+ Amerika/Cancun (UTC- 05:00)
+ Amerika/Lima (UTC- 05:00)
+ Amerika/Bahia\$1Banderas (UTC- 05:00)
+ Vereinigte Staaten von Amerika und Indien (UTC- 05:00)
+ Amerika/Rio\$1Branco (UTC- 05:00)
+ CST6SystemV/CDT (UTC- 05:00)
+ Jamaika (UTC- 05:00)
+ Amerika/Mérida (UTC- 05:00)
+ America/North\$1Dakota/New\$1Salem (UTC- 05:00)
+ Amerika/Winnipeg (UTC- 05:00)
+ Amerika/Cuiaba (UTC- 04:00)
+ Amerika/Marigot (UTC- 04:00)
+ America/Indiana/Petersburg(UTC- 04:00)
+ Chile/Kontinental (UTC- 04:00)
+ Amerika/Grand\$1Turk (UTC- 04:00)
+ Kuba (UTC- 04:00)
+ ETC/GMT\$14 (UTC-04:00)
+ Amerika/Manaus (UTC- 04:00)
+ Amerika/Fort\$1Wayne (UTC- 04:00)
+ Amerika/St\$1Thomas (UTC- 04:00)
+ Amerika/Anguilla (UTC- 04:00)
+ Amerika/Havanna (UTC- 04:00)
+ USA/Michigan (UTC- 04:00)
+ Amerika/Barbados (UTC- 04:00)
+ Amerika/Louisville (UTC- 04:00)
+ Amerika/Curacao (UTC- 04:00)
+ Amerika/Guyana (UTC- 04:00)
+ Amerika/Martinique (UTC- 04:00)
+ Amerika/Puerto\$1Rico (UTC- 04:00)
+ Amerika/Port\$1of\$1Spain (UTC- 04:00)
+ SystemV V/ AST4 (UTC- 04:00)
+ America/Indiana/Vevay(UTC- 04:00)
+ America/Indiana/Vincennes(UTC- 04:00)
+ Amerika/Kralendijk (UTC- 04:00)
+ Amerika/Antigua (UTC- 04:00)
+ Amerika/Indianapolis (UTC- 04:00)
+ Amerika/Iqaluit (UTC- 04:00)
+ Amerika/St\$1Vincent (UTC- 04:00)
+ America/Kentucky/Louisville(UTC- 04:00)
+ Amerika/Dominica (UTC- 04:00)
+ Amerika/Asuncion (UTC- 04:00)
+ EST5EDT (UTC- 04:00)
+ Amerika/Nassau (UTC- 04:00)
+ America/Kentucky/Monticello(UTC- 04:00)
+ Brasilien/West (UTC- 04:00)
+ Amerika/Aruba (UTC- 04:00)
+ America/Indiana/Indianapolis(UTC- 04:00)
+ Amerika/Santiago (UTC- 04:00)
+ Amerika/La\$1Paz (UTC- 04:00)
+ Amerika/Thunder\$1Bay (UTC- 04:00)
+ America/Indiana/Marengo(UTC- 04:00)
+ Amerika/Blanc-Sablon (UTC- 04:00)
+ Amerika/Santo\$1Domingo (UTC- 04:00)
+ USA/Ost (UTC- 04:00)
+ Kanada/Eastern (UTC- 04:00)
+ Amerika/ Port-au-Prince (UTC- 04:00)
+ Amerika/St\$1Barthelemy (UTC- 04:00)
+ Amerika/Nipigon (UTC- 04:00)
+ USA/Ost-Indiana (UTC- 04:00)
+ Amerika/St\$1Lucia (UTC- 04:00)
+ Amerika/Montserrat (UTC- 04:00)
+ Amerika/Lower\$1Princes (UTC- 04:00)
+ Amerika/Detroit (UTC- 04:00)
+ Amerika/Tortola (UTC- 04:00)
+ Amerika/Porto\$1Velho (UTC- 04:00)
+ Amerika/Campo\$1Grande (UTC- 04:00)
+ Amerika/Virgin (UTC- 04:00)
+ Amerika/Pangnirtung (UTC- 04:00)
+ Amerika/Montreal (UTC- 04:00)
+ America/Indiana/Winamac(UTC- 04:00)
+ Amerika/Boa\$1Vista (UTC- 04:00)
+ Amerika/Grenada (UTC- 04:00)
+ Amerika/New\$1York (UTC- 04:00)
+ Amerika/St\$1Kitts (UTC- 04:00)
+ Amerika/Caracas (UTC- 04:00)
+ Amerika/Guadeloupe (UTC- 04:00)
+ Amerika/Toronto (UTC- 04:00)
+ EST5SystemV/EDT (UTC- 04:00)
+ America/Argentina/Catamarca(UTC- 03:00)
+ Kanada/Atlantik (UTC- 03:00)
+ America/Argentina/Cordoba(UTC- 03:00)
+ Amerika/Araguaina (UTC- 03:00)
+ America/Argentina/Salta(UTC- 03:00)
+ ETC/GMT\$13 (UTC-03:00)
+ Amerika/Montevideo (UTC- 03:00)
+ Brasilien/Ost (UTC- 03:00)
+ America/Argentina/Mendoza(UTC- 03:00)
+ America/Argentina/Rio\$1Galicien (UTC-03:00)
+ Amerika/Catamarca (UTC- 03:00)
+ Amerika/Cordoba (UTC- 03:00)
+ Amerika/Sao\$1Paulo (UTC- 03:00)
+ America/Argentina/Jujuy(UTC- 03:00)
+ Amerika/Cayenne (UTC- 03:00)
+ Amerika/Recife (UTC- 03:00)
+ Amerika/Buenos\$1Aires (UTC- 03:00)
+ Amerika/Paramaribo (UTC- 03:00)
+ Amerika/Moncton (UTC- 03:00)
+ Amerika/Mendoza (UTC- 03:00)
+ Amerika/Santarem (UTC- 03:00)
+ Atlantik/Bermuda (UTC- 03:00)
+ Amerika/Maceio (UTC- 03:00)
+ Atlantik/Stanley (UTC- 03:00)
+ Amerika/Halifax (UTC- 03:00)
+ Antarktis/Rothera (UTC- 03:00)
+ America/Argentina/San\$1Luis (UTC-03:00)
+ America/Argentina/Ushuaia(UTC-03:00)
+ Antarktis/Palmer (UTC- 03:00)
+ Amerika/Punta\$1Arenas (UTC- 03:00)
+ Amerika/Glace\$1Bay (UTC- 03:00)
+ Amerika/Fortaleza (UTC- 03:00)
+ Amerika/Thule (UTC- 03:00)
+ America/Argentina/La\$1Rioja (UTC- 03:00)
+ Amerika/Belem (UTC- 03:00)
+ Amerika/Jujuy (UTC- 03:00)
+ Amerika/Bahia (UTC- 03:00)
+ Amerika/Goose\$1Bay (UTC- 03:00)
+ America/Argentina/San\$1Juan (UTC- 03:00)
+ America/Argentina/ComodRivadavia(UTC- 03:00)
+ America/Argentina/Tucuman(UTC-03:00)
+ Amerika/Rosario (UTC- 03:00)
+ AST4SystemV/ADT (UTC- 03:00)
+ America/Argentina/Buenos\$1Aires (UTC-03:00)
+ Amerika/St\$1Johns (UTC- 02:30)
+ Kanada/Neufundland (UTC- 02:30)
+ Amerika/Miquelon (UTC- 02:00)
+ ETC/GMT\$12 (UTC-02:00)
+ Amerika/Godthab (UTC- 02:00)
+ Amerika/Noronha (UTC- 02:00)
+ Brasilien/ DeNoronha (UTC- 02:00)
+ Atlantik/Südgeorgien (UTC- 02:00)
+ ETC/GMT\$11 (UTC-01:00)
+ Atlantik/Kap Verde (UTC- 01:00)
+ Pazifik/Kiritimati (UTC\$1 14:00)
+ ETC/GMT-14 (UTC\$1 14:00)
+ Pazifik/Fakaofo (UTC\$1 13:00)
+ Pazifik/Enderbury (UTC\$1 13:00)
+ Pazifik/Apia (UTC\$1 13:00)
+ Pazifik/Tongatapu (UTC\$1 13:00)
+ ETC/GMT-13 (UTC\$1 13:00)
+ NZ-CHAT (UTC\$1 12:45)
+ Pazifik/Chatham (UTC\$1 12:45)
+ Pazifik/Kwajalein (UTC\$1 12:00)
+ Antarktis (UTC\$1 12:00) McMurdo 
+ Pazifik/Wallis (UTC\$1 12:00)
+ Pazifik/Fidschi (UTC\$1 12:00)
+ Pazifik/Funafuti (UTC\$1 12:00)
+ Pazifik/Nauru (UTC\$1 12:00)
+ Kwajalein (UTC\$1 12:00)
+ NEUSEELAND (UTC\$1 12:00)
+ Pazifik/Wake (UTC\$1 12:00)
+ Antarktis/Südpol (UTC\$1 12:00)
+ Pazifik/Tarawa (UTC\$1 12:00)
+ Pazifik/Auckland (UTC\$1 12:00)
+ Asien/Kamtschatka (UTC\$1 12:00)
+ ETC/GMT-12 (UTC\$1 12:00)
+ Asien/Anadyr (UTC\$1 12:00)
+ Pazifik/Majuro (UTC\$1 12:00)
+ Pazifik/Ponape (UTC\$1 11:00)
+ Pazifik/Bougainville (UTC\$1 11:00)
+ Antarktis/Macquarie (UTC\$1 11:00)
+ Pazifik/Pohnpei (UTC\$1 11:00)
+ Pazifik/Efate (UTC\$1 11:00)
+ Pazifik/Norfolk (UTC\$1 11:00)
+ Asien/Magadan (UTC\$1 11:00)
+ Pazifik/Kosrae (UTC\$1 11:00)
+ Asien/Sachalin (UTC\$1 11:00)
+ Pazifik/Noumea (UTC\$1 11:00)
+ ETC/GMT-11 (UTC\$1 11:00)
+ Asien/Srednekolymsk (UTC\$1 11:00)
+ Pazifik/Guadalcanal (UTC\$1 11:00)
+ Australien/Lord\$1Howe (UTC\$1 10:30)
+ Australien/LHI (UTC\$1 10:30)
+ Australien/Hobart (UTC\$1 10:00)
+ Pazifik/Yap (UTC\$1 10:00)
+ Australien/Tasmanien (UTC\$1 10:00)
+ Pazifik/Port\$1Moresby (UTC\$1 10:00)
+ Australien/ACT (UTC\$1 10:00)
+ Australien/Victoria (UTC\$1 10:00)
+ Pazifik/Chuuk (UTC\$1 10:00)
+ Australien/Queensland (UTC\$1 10:00)
+ Australien/Canberra (UTC\$1 10:00)
+ Australien/Currie (UTC\$1 10:00)
+ Pazifik/Guam (UTC\$1 10:00)
+ Pazifik/Truk (UTC\$1 10:00)
+ Australien/NSW (UTC\$1 10:00)
+ Asien/Wladiwostok (UTC\$1 10:00)
+ Pazifik/Saipan (UTC\$1 10:00)
+ Antarktis/Dumont (UTC\$1 10:00DUrville )
+ Australien/Sydney (UTC\$1 10:00)
+ Australien/Brisbane (UTC\$1 10:00)
+ ETC/GMT-10 (UTC\$1 10:00)
+ Asien/Ust-Nera (UTC\$1 10:00)
+ Australien/Melbourne (UTC\$1 10:00)
+ Australien/Lindeman (UTC\$1 10:00)
+ Australien/Norden (UTC\$1 09:30)
+ Australien/Yancowinna (UTC\$1 09:30)
+ Australien/Adelaide (UTC\$1 09:30)
+ Australien/Broken\$1Hill (UTC\$1 09:30)
+ Australien/Süden (UTC\$1 09:30)
+ Australien/Darwin (UTC\$1 09:30)
+ ETC/GMT-9 (UTC\$1 09:00)
+ Pazifik/Palau (UTC\$1 09:00)
+ Asien/Chita (UTC\$1 09:00)
+ Asien/Dili (UTC\$1 09:00)
+ Asien/Jayapura (UTC\$1 09:00)
+ Asien/Jakutsk (UTC\$1 09:00)
+ Asien/Pjöngjang (UTC\$1 09:00)
+ ROCK (UTC\$1 09:00)
+ Asien/Seoul (UTC\$1 09:00)
+ Asien/Khandyga (UTC\$1 09:00)
+ Japan (UTC\$1 09:00)
+ Asien/Tokio (UTC\$1 09:00)
+ Australien/Eucla (UTC\$1 08:45)
+ Asien/Kuching (UTC\$1 08:00)
+ Asien/Chungking (UTC\$1 08:00)
+ ETC/GMT-8 (UTC\$1 08:00)
+ Australien/Perth (UTC\$1 08:00)
+ Asien/Macau (UTC\$1 08:00)
+ Asien/Macau (UTC\$1 08:00)
+ Asien/Choibalsan (UTC\$1 08:00)
+ Asien/Shanghai (UTC\$1 08:00)
+ Antarktis/Casey (UTC\$1 08:00)
+ Asien/Ulan\$1Bator (UTC\$1 08:00)
+ Asien/Chongqing (UTC\$1 08:00)
+ Asien/Ulaanbaatar (UTC\$1 08:00)
+ Asien/Taipeh (UTC\$1 08:00)
+ Asien/Manila (UTC\$1 08:00)
+ PRC (UTC\$1 08:00)
+ Asien/Ujung\$1Pandang (UTC\$1 08:00)
+ Asien/Harbin (UTC\$1 08:00)
+ Singapur (UTC\$1 08:00)
+ Asien/Brunei (UTC\$1 08:00)
+ Australien/West (UTC\$1 08:00)
+ Asien/Hong\$1Kong (UTC\$1 08:00)
+ Asien/Makassar (UTC\$1 08:00)
+ Hongkong (UTC\$1 08:00)
+ Asien/Kuala\$1Lumpur (UTC\$1 08:00)
+ Asien/Irkutsk (UTC\$1 08:00)
+ Asien/Singapur (UTC\$1 08:00)
+ Asien/Pontianak (UTC\$1 07:00)
+ ETC/GMT-7 (UTC\$1 07:00)
+ Asien/Phnom\$1Penh (UTC\$1 07:00)
+ Asien/Nowosibirsk (UTC\$1 07:00)
+ Antarktis/Davis (UTC\$1 07:00)
+ Asien/Tomsk (UTC\$1 07:00)
+ Asien/Jakarta (UTC\$1 07:00)
+ Asien/Barnaul (UTC\$1 07:00)
+ Indisch/Weihnachten (UTC\$1 07:00)
+ Asien/Ho\$1Chi\$1Minh (UTC\$1 07:00)
+ Asien/Hovd (UTC\$1 07:00)
+ Asien/Bangkok (UTC\$1 07:00)
+ Asien/Vientiane (UTC\$1 07:00)
+ Asien/Nowokusnezk (UTC\$1 07:00)
+ Asien/Krasnojarsk (UTC\$1 07:00)
+ Asien/Saigon (UTC\$1 07:00)
+ Asien/Rangun (UTC\$1 06:30)
+ Asien/Rangun (UTC\$1 06:30)
+ Indisch/Cocos (UTC\$1 06:30)
+ Asien/Kashgar (UTC\$1 06:00)
+ ETC/GMT-6 (UTC\$1 06:00)
+ Asien/Almaty (UTC\$1 06:00)
+ Asien/Dacca (UTC\$1 06:00)
+ Asien/Omsk (UTC\$1 06:00)
+ Asien/Dhaka (UTC\$1 06:00)
+ Indisch/Chagos (UTC\$1 06:00)
+ Asien/Qyzylorda (UTC\$1 06:00)
+ Asien/Bischkek (UTC\$1 06:00)
+ Antarktis/Wostok (UTC\$1 06:00)
+ Asien/Urumqi (UTC\$1 06:00)
+ Asien/Thimbu (UTC\$1 06:00)
+ Asien/Thimphu (UTC\$1 06:00)
+ Asien/Kathmandu (UTC\$1 05:45)
+ Asien/Katmandu (UTC\$1 05:45)
+ Asien/Kalkutta (UTC\$1 05:30)
+ Asien/Colombo (UTC\$1 05:30)
+ Asien/Kalkutta (UTC\$1 05:30)
+ Asien/Aktau (UTC\$1 05:00)
+ ETC/GMT-5 (UTC\$1 05:00)
+ Asien/Samarkand (UTC\$1 05:00)
+ Asien/Karatschi (UTC\$1 05:00)
+ Asien/Jekaterinburg (UTC\$1 05:00)
+ Asien/Duschanbe (UTC\$1 05:00)
+ Indisch/Malediven (UTC\$1 05:00)
+ Asien/Oral (UTC\$1 05:00)
+ Asien/Taschkent (UTC\$1 05:00)
+ Antarktis/Mawson (UTC\$1 05:00)
+ Asien/Aktobe (UTC\$1 05:00)
+ Asien/Ashkhabad (UTC\$1 05:00)
+ Asien/Aschgabat (UTC\$1 05:00)
+ Asien/Atyrau (UTC\$1 05:00)
+ Indisch/Kerguelen (UTC\$1 05:00)
+ Iran (UTC\$1 04:30)
+ Asien/Teheran (UTC\$1 04:30)
+ Asien/Kabul (UTC\$1 04:30)
+ Asien/Eriwan (UTC\$1 04:00)
+ ETC/GMT-4 (UTC\$1 04:00)
+ ETC/GMT-4 (UTC\$1 04:00)
+ Asien/Dubai (UTC\$1 04:00)
+ Indisch/Reunion (UTC\$1 04:00)
+ Europa/Saratow (UTC\$1 04:00)
+ Europa/Samara (UTC\$1 04:00)
+ Indisch/Mahe (UTC\$1 04:00)
+ Asien/Baku (UTC\$1 04:00)
+ Asien/Muscat (UTC\$1 04:00)
+ Europa/Wolgograd (UTC\$1 04:00)
+ Europa/Astrachan (UTC\$1 04:00)
+ Asien/Tiflis (UTC\$1 04:00)
+ Europa/Uljanowsk (UTC\$1 04:00)
+ Asien/Aden (UTC\$1 03:00)
+ Afrika/Nairobi (UTC\$1 03:00)
+ Europa/Istanbul (UTC\$1 03:00)
+ ETC/GMT-3 (UTC\$1 03:00)
+ Europa/Zaporozhye (UTC\$1 03:00)
+ Israel (UTC\$1 03:00)
+ Indisch/Komoren (UTC\$1 03:00)
+ Antarktis/Syowa (UTC\$1 03:00)
+ Afrika/Mogadischu (UTC\$1 03:00)
+ Europa/Bukarest (UTC\$1 03:00)
+ Afrika/Asmera (UTC\$1 03:00)
+ Europa/Mariehamn (UTC\$1 03:00)
+ Asien/Istanbul (UTC\$1 03:00)
+ Europa/Tiraspol (UTC\$1 03:00)
+ Europa/Moskau (UTC\$1 03:00)
+ Europa/Chisinau (UTC\$1 03:00)
+ Europa/Helsinki (UTC\$1 03:00)
+ Asien/Beirut (UTC\$1 03:00)
+ Asien/Tel\$1Aviv (UTC\$1 03:00)
+ Afrika/Dschibuti (UTC\$1 03:00)
+ Europa/Simferopol (UTC\$1 03:00)
+ Europa/Sofia (UTC\$1 03:00)
+ Asien/Gaza (UTC\$1 03:00)
+ Afrika/Asmara (UTC\$1 03:00)
+ Europa/Riga (UTC\$1 03:00)
+ Asien/Bagdad (UTC\$1 03:00)
+ Asien/Damaskus (UTC\$1 03:00)
+ Afrika/Dar\$1es\$1Salaam (UTC\$1 03:00)
+ Afrika/Addis\$1Abeba (UTC\$1 03:00)
+ Europa/Uzhgorod (UTC\$1 03:00)
+ Asien/Jerusalem (UTC\$1 03:00)
+ Asien/Riad (UTC\$1 03:00)
+ Asien/Kuwait (UTC\$1 03:00)
+ Europa/Kirow (UTC\$1 03:00)
+ Afrika/Kampala (UTC\$1 03:00)
+ Europa/Minsk (UTC\$1 03:00)
+ Asien/Katar (UTC\$1 03:00)
+ Europa/Kiew (UTC\$1 03:00)
+ Asien/Bahrain (UTC\$1 03:00)
+ Europa/Vilnius (UTC\$1 03:00)
+ Indien/Antananarivo (UTC\$1 03:00)
+ Indisch/Mayotte (UTC\$1 03:00)
+ Europa/Tallinn (UTC\$1 03:00)
+ Türkei (UTC\$1 03:00)
+ Afrika/Juba (UTC\$1 03:00)
+ Asien/Nikosia (UTC\$1 03:00)
+ Asien/Famagusta (UTC\$1 03:00)
+ J-SO (UTC\$1 03:00)
+ FÜSSE (UTC\$1 03:00)
+ Asien/Hebron (UTC\$1 03:00)
+ Asien/Amman (UTC\$1 03:00)
+ Europa/Nikosia (UTC\$1 03:00)
+ Europa/Athen (UTC\$1 03:00)
+ Afrika/Kairo (UTC\$1 02:00)
+ Afrika/Mbabane (UTC\$1 02:00)
+ Europa/Brüssel (UTC\$1 02:00)
+ Europa/Warschau (UTC\$1 02:00)
+ MEZ (UTC\$1 02:00)
+ Europa/Luxemburg (UTC\$1 02:00)
+ ETC/GMT-2 (UTC\$1 02:00)
+ Libyen (UTC\$1 02:00)
+ Afrika/Kigali (UTC\$1 02:00)
+ Afrika/Tripolis (UTC\$1 02:00)
+ Europa/Kaliningrad (UTC\$1 02:00)
+ Afrika/Windhoek (UTC\$1 02:00)
+ Europa/Malta (UTC\$1 02:00)
+ Europa/Busingen (UTC\$1 02:00)
+ 
+ Europa/Skopje (UTC\$1 02:00)
+ Europa/Sarajevo (UTC\$1 02:00)
+ Europa/Rom (UTC\$1 02:00)
+ Europa/Zürich (UTC\$1 02:00)
+ Europa/Gibraltar (UTC\$1 02:00)
+ Afrika/Lubumbashi (UTC\$1 02:00)
+ Europa/Vaduz (UTC\$1 02:00)
+ Europa/Ljubljana (UTC\$1 02:00)
+ Europa/Berlin (UTC\$1 02:00)
+ Europa/Stockholm (UTC\$1 02:00)
+ Europa/Budapest (UTC\$1 02:00)
+ Europa/Zagreb (UTC\$1 02:00)
+ Europa/Paris (UTC\$1 02:00)
+ Afrika/Ceuta (UTC\$1 02:00)
+ Europa/Prag (UTC\$1 02:00)
+ Antarktis/Troll (UTC\$1 02:00)
+ Afrika/Gaborone (UTC\$1 02:00)
+ Europa/Kopenhagen (UTC\$1 02:00)
+ Europa/Wien (UTC\$1 02:00)
+ Europa/Tirane (UTC\$1 02:00)
+ GETROFFEN (UTC\$1 02:00)
+ Europa/Amsterdam (UTC\$1 02:00)
+ Afrika/Maputo (UTC\$1 02:00)
+ Europa/San\$1Marino (UTC\$1 02:00)
+ Polen (UTC\$1 02:00)
+ Europa/Andorra (UTC\$1 02:00)
+ Europa/Oslo (UTC\$1 02:00)
+ Europa/Podgorica (UTC\$1 02:00)
+ Afrika/Bujumbura (UTC\$1 02:00)
+ Atlantik/Jan\$1Mayen (UTC\$1 02:00)
+ Afrika/Maseru (UTC\$1 02:00)
+ Europa/Madrid (UTC\$1 02:00)
+ Afrika/Blantyre (UTC\$1 02:00)
+ Afrika/Lusaka (UTC\$1 02:00)
+ Afrika/Harare (UTC\$1 02:00)
+ Afrika/Khartum (UTC\$1 02:00)
+ Afrika/Johannesburg (UTC\$1 02:00)
+ Europa/Belgrad (UTC\$1 02:00)
+ Europa/Bratislava (UTC\$1 02:00)
+ Arktis/Longyearbyen (UTC\$1 02:00)
+ Ägypten (UTC\$1 02:00)
+ Europa/Vatikan (UTC\$1 02:00)
+ Europa/Monaco (UTC\$1 02:00)
+ Europa/London (UTC\$1 01:00)
+ ETC/GMT-1 (UTC\$1 01:00)
+ Europa/Jersey (UTC\$1 01:00)
+ Europa/Guernsey (UTC\$1 01:00)
+ Europa/Isle\$1of\$1Man (UTC\$1 01:00)
+ Afrika/Tunis (UTC\$1 01:00)
+ Afrika/Malabo (UTC\$1 01:00)
+ GB-Bier (UTC\$1 01:00)
+ Afrika/Lagos (UTC\$1 01:00)
+ Afrika/Algier (UTC\$1 01:00)
+ GB (UTC\$1 01:00)
+ Portugal (UTC\$1 01:00)
+ Afrika/Sao\$1Tome (UTC\$1 01:00)
+ Afrika/Ndjamena (UTC\$1 01:00)
+ Atlantik/Färöer (UTC\$1 01:00)
+ Irland (UTC\$1 01:00)
+ Atlantik/Färöer (UTC\$1 01:00)
+ Europa/Dublin (UTC\$1 01:00)
+ Afrika/Libreville (UTC\$1 01:00)
+ Afrika/El\$1Aaiun (UTC\$1 01:00)
+ Afrika/El\$1Aaiun (UTC\$1 01:00)
+ Afrika/Douala (UTC\$1 01:00)
+ Afrika/Brazzaville (UTC\$1 01:00)
+ Afrika/Porto Novo (UTC\$1 01:00)
+ Atlantik/Madeira (UTC\$1 01:00)
+ Europa/Lissabon (UTC\$1 01:00)
+ Atlantik/Kanarische Inseln (UTC\$1 01:00)
+ Afrika/Casablanca (UTC\$1 01:00)
+ Europa/Belfast (UTC\$1 01:00)
+ Afrika/Luanda (UTC\$1 01:00)
+ Afrika/Kinshasa (UTC\$1 01:00)
+ Afrika/Bangui (UTC\$1 01:00)
+ NASS (UTC\$1 01:00)
+ Afrika/Niamey (UTC\$1 01:00)
+ GMT (UTC\$1 00:00)
+ ETC/GMT-0 (UTC\$1 00:00)
+ Atlantik/St\$1Helena (UTC\$1 00:00)
+ ETC/GMT\$10 (UTC\$1 00:00)
+ Afrika/Banjul (UTC\$1 00:00)
+ ETC/GMT (UTC\$1 00:00)
+ Afrika/Freetown (UTC\$1 00:00)
+ Afrika/Bamako (UTC\$1 00:00)
+ Afrika/Conakry (UTC\$1 00:00)
+ Universell (UTC\$1 00:00)
+ Afrika/Nouakchott (UTC\$1 00:00)
+ UTC (UTC\$1 00:00)
+ /etc/Universell (UTC\$1 00:00)
+ Atlantik/Azoren (UTC\$1 00:00)
+ Afrika/Abidjan (UTC\$1 00:00)
+ Afrika/Accra (UTC\$1 00:00)
+ ETC/UTC (UTC\$1 00:00)
+ GMT0 (UTC\$1 00:00)
+ Zulu (UTC\$1 00:00) Zulu (UTC\$1 00:00)
+ Afrika/Ouagadougou (UTC\$1 00:00)
+ Atlantik/Reykjavik (UTC\$1 00:00)
+ etC/Zulu (UTC\$1 00:00)
+ Island (UTC\$1 00:00)
+ Afrika/Lome (UTC\$1 00:00)
+ Greenwich (UTC\$1 00:00)
+ Etc/ (UTC\$1 00:00GMT0 )
+ Amerika/Danmarkshavn (UTC\$1 00:00)
+ Afrika/Dakar (UTC\$1 00:00)
+ Afrika/Bissau (UTC\$1 00:00)
+ ETC/Greenwich (UTC\$1 00:00)
+ Afrika/Timbuktu (UTC\$1 00:00)
+ UTC (UTC\$1 00:00)
+ Afrika/Monrovia (UTC\$1 00:00)
+ ETC/UTC (UTC\$1 00:00)

# Tutorials zu Formelausdrücken
<a name="expression-tutorials"></a>

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

**Topics**
+ [

## Verwenden Sie Zeichenketten in Formeln
](#use-strings-in-formulas)
+ [

## Datenpunkte filtern
](#filter-data)
+ [

## Zählen Sie Datenpunkte, die einer Bedingung entsprechen
](#count-filtered-data)
+ [

## Späte Daten in Formeln
](#late-data)
+ [

## Datenqualität in Formeln
](#data-quality)
+ [

## Undefinierte, unendliche und Überlaufwerte
](#undefined-values)

## Verwenden Sie Zeichenketten in Formeln
<a name="use-strings-in-formulas"></a>

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

**Wichtig**  
<a name="formula-output-rules"></a>Formelausdrücke können nur Doppel- oder Zeichenkettenwerte ausgeben. Verschachtelte Ausdrücke können andere Datentypen ausgeben, z. B. Zeichenfolgen, aber die Formel als Ganzes muss eine Zahl oder Zeichenfolge ergeben. Sie können die [Funktion jp](expression-string-functions.md#jp-definition) verwenden, um eine Zeichenfolge in eine Zahl umzuwandeln. Der boolesche Wert muss 1 (wahr) oder 0 (falsch) sein. Weitere Informationen finden Sie unter [Undefinierte, unendliche und Überlaufwerte](#undefined-values).

AWS IoT SiteWise stellt die folgenden Funktionen für Formelausdrücke bereit, mit denen Sie Zeichenfolgen bearbeiten können:
+ [Zeichenkettenliterale](expression-literals.md#string-literal-definition)
+ Der [Indexoperator](expression-operators.md#index-operator-definition) () `s[index]`
+ Der [Slice-Operator](expression-operators.md#slice-operator-definition) (`s[start:end:step]`)
+ [Vergleichsfunktionen](expression-comparison-functions.md), mit denen Sie Zeichenketten in [lexikografischer](https://en.wikipedia.org/wiki/Lexicographic_order) Reihenfolge vergleichen können
+ [Zeichenkettenfunktionen](expression-string-functions.md), zu denen auch die `jp` Funktion gehört, die serialisierte JSON-Objekte analysieren und Zeichenketten in Zahlen konvertieren kann

## Datenpunkte filtern
<a name="filter-data"></a>

Sie können die [if-Funktion](expression-conditional-functions.md#if-definition) 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](expression-constants.md#none-definition) 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 die `if` Funktion verwendet, um eine Bedingung zu definieren, die prüft, ob eine Bedingung erfüllt ist, und entweder den `result_if_false` Wert `result_if_true` oder zurückgibt`none`.

**Example Beispiel: Filtert Datenpunkte heraus, an denen das Wasser nicht kocht**  
Stellen Sie sich ein Szenario vor, in dem Sie eine Messung durchführen`temp_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:  
+ Transformation: `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
<a name="count-filtered-data"></a>

Sie können [Vergleichsfunktionen](expression-comparison-functions.md) und [sum ()](expression-aggregation-functions.md#sum-definition) 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.

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

**Example Beispiel: Zählen Sie die Anzahl der Datenpunkte, bei denen Wasser kocht**  
Stellen Sie sich ein Szenario vor, in dem Sie über eine Messung verfügen`temp_c`, die die Temperatur (in Celsius) des Wassers 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:  
+ Transformation: `is_boiling = gte(temp_c, 100)` — Gibt zurück, `1` ob die Temperatur größer oder gleich 100 Grad Celsius ist, andernfalls wird zurückgegeben`0`.
+ Metrisch: `boiling_count = sum(is_boiling)` — Gibt die Anzahl der Datenpunkte zurück, an denen Wasser kocht.

## Späte Daten in Formeln
<a name="late-data"></a>

AWS IoT SiteWise unterstützt die späte Datenaufnahme von Daten, die bis zu 7 Tage alt sind. Wenn verspätete Daten AWS IoT SiteWise empfangen werden, werden vorhandene Werte für jede Metrik neu berechnet, die die verspäteten Daten in einem vergangenen Fenster eingibt. 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 der aktuelle Formelausdruck jeder Eigenschaft verwendet.

Nachdem ein vergangenes Fenster für eine Metrik AWS IoT SiteWise neu berechnet wurde, ersetzt es den vorherigen Wert für dieses Fenster. 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
<a name="data-quality"></a>

 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` hochwertige Daten. 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](query-industrial-data.md).

## Undefinierte, unendliche und Überlaufwerte
<a name="undefined-values"></a>

Einige Formelausdrücke (wie `x / 0``sqrt(-1)`, oder`log(0)`) berechnen Werte, die in einem reellen Zahlensystem undefiniert, unendlich oder außerhalb des von unterstützten Bereichs liegen. 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 nicht numerischer Wert als Ergebnis eines Formelausdrucks berechnet wird. Das bedeutet, dass, wenn Sie eine Formel definieren, die eine Zeichenfolge, ein Array oder die [Konstante none](expression-constants.md#none-definition) berechnet, AWS IoT SiteWise kein Datenpunkt für diese Berechnung ausgegeben wird.

**Example 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 / 0`ist 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)`ist `none` wann `temp` ist weniger als`300`.