# Datenverarbeitung (Funktionen/Formate)

Eingehende Daten müssen zugeordnet werden, bevor BuildingPro Suites sie am richtigen Asset und Attribut speichern kann. Dies geschieht mit **Formaten** und, falls erforderlich, **Funktionen**.

## Wofür Formate da sind

Ein **Format** definiert, wie eingehende Nutzdaten in BuildingPro Suites Asset-Daten zugewiesen werden.

Verwenden Sie ein Format, um:

* Nutzdatenwerte bestimmten Asset-Attributen zuzuordnen
* zu identifizieren, welches Asset die Daten erhalten soll
* zu definieren, ob der Bezeichner aus den Nutzdaten oder dem Topic stammt
* zu definieren, wie der Zeitstempel erkannt wird
* Pfade wie **JSONPath** zu verwenden, um Werte aus strukturierten Nutzdaten auszuwählen
* verwenden Sie **MQTT-Wildcards** wenn der Asset-Bezeichner Teil des Topics ist

Einfach ausgedrückt beantwortet ein Format diese Frage:

> **Welcher eingehende Wert gehört zu welchem Asset-Attribut?**

{% hint style="success" %}
Erstellen Sie nach Möglichkeit neue Formate, während Sie eine Verbindung konfigurieren. Dies ist der empfohlene Arbeitsablauf.
{% endhint %}

{% hint style="warning" %}
Verwenden Sie die **Formate** Menü hauptsächlich zum Überprüfen und Bearbeiten vorhandener Formate.
{% endhint %}

## Wofür Funktionen da sind

Ein **Funktion** wird verwendet, wenn ein Format allein nicht ausreicht.

Verwenden Sie eine Funktion, um:

* aus eingehenden Daten neue Werte zu berechnen
* Werte vor dem Speichern zu konvertieren oder zu normalisieren
* mehrere Nutzdatenfelder zu einem Bezeichner zusammenzuführen
* eingehende Daten für die Zuordnung umzuorganisieren
* benutzerdefinierte Logik anzuwenden, die sich allein mit der Formatkonfiguration nicht ausdrücken lässt

Einfach ausgedrückt beantwortet eine Funktion diese Frage:

> **Wie sollten die eingehenden Daten transformiert werden, bevor sie zugewiesen werden?**

## Wie Formate und Funktionen zusammenarbeiten

Formate und Funktionen werden oft zusammen verwendet:

1. Eine Verbindung empfängt Daten.
2. Das Format identifiziert das Ziel-Asset und ordnet Nutzdatenfelder Attributen zu.
3. Eine angehängte Funktion kann die Daten bei Bedarf transformieren oder anreichern.

Dies ist besonders nützlich, wenn:

* die Nutzdaten keine sofort verwendbare Kennung enthalten
* Werte zusammengeführt, bereinigt oder konvertiert werden müssen
* das relevante Asset aus Topic-Teilen oder verschachtelten JSON-Feldern abgeleitet werden muss

## Verwandte Seiten

* [Einen Encoder/Decoder-Format konfigurieren](https://app.gitbook.com/s/OqGnkz52o2zVUsEGEZGk/mandatory-base/platform-core/connect-hub/data-processing-function-formats/configure-a-format)
* [Funktionen](https://app.gitbook.com/s/OqGnkz52o2zVUsEGEZGk/mandatory-base/platform-core/connect-hub/data-processing-function-formats/functions)
