02 Transformationen
Daten in Grafana transformieren und aufbereiten.
Transformationen bearbeiten Daten nach der Abfrage, aber bevor sie visualisiert werden: aggregieren, filtern, umbenennen, kombinieren. In diesem Tutorial lernst du die wichtigsten Transformationen und baust Schritt für Schritt eine Übersichtstabelle wie diese:

Was du lernst
Daten mit Reduce aggregieren (Minimum, Maximum, Mittelwert)
Felder umbenennen, umsortieren und ausblenden
Trendlinien mit Regressionsanalyse hinzufügen
Daten aus mehreren Queries kombinieren
Transformationen verketten
Voraussetzungen
Teil 1 und Teil 2 der Tutorials abgeschlossen
Grundkenntnisse in der Panel-Erstellung
Der Transform-Tab
Bearbeite ein Panel
Klicke auf den Transform-Tab (zwischen Query und Alert)
Klicke auf + Add transformation und wähle eine Transformation
Transformationen werden von oben nach unten ausgeführt. Du kannst sie per Drag-and-Drop umsortieren, deaktivieren (Augen-Symbol) oder löschen (Papierkorb-Symbol).
Die Reihenfolge beeinflusst das Ergebnis. Ein Filter vor Reduce liefert andere Ergebnisse als danach.
Reduce
Wandelt Zeitreihendaten in aggregierte Werte um. Ideal für Übersichtstabellen.
Füge die Transformation Reduce hinzu
Wähle die Berechnungen:
Last *
Letzter Wert (nicht null)
Min / Max
Minimum / Maximum
Mean
Mittelwert
Sum
Summe aller Werte
Difference percent
Prozentuale Veränderung
All values
Array aller Werte (für Sparklines)

Organize Fields by Name
Spalten umbenennen, umsortieren und ausblenden. Unverzichtbar für aufgeräumte Tabellen.
Füge die Transformation Organize fields by name hinzu
Für jedes Feld:
Rename: Neuen Anzeigenamen eingeben
Hide: Augen-Symbol klicken zum Ausblenden
Reorder: Per Drag-and-Drop umsortieren

Rename by Regex
Mehrere Felder gleichzeitig mit Musterabgleich umbenennen.
Match
Regex-Muster zum Abgleich
Replace
Ersetzungstext ($1, $2 für Capture-Gruppen)
Beispiele:
Extruder (.) Durchsatz
Ext $1
Extruder A Durchsatz
Ext A
\(Soll\)
(Target)
Speed (Soll)
Speed (Target)
(.+) - (.+)
$2
Kiefel - Durchsatz
Durchsatz

Gängige Regex-Muster
.
Beliebiges einzelnes Zeichen
A, 1, -
.*
Beliebig viele Zeichen
Extruder A Durchsatz
.+
Mindestens ein Zeichen
wie .*, aber nicht leer
(...)
Capture-Gruppe (im Replace als $1, $2)
(Extruder .) → $1
\( / \)
Literale Klammern
\(Soll\) findet (Soll)
^ / $
Anfang / Ende des Strings
^Kiefel findet nur am Anfang
[A-C]
Zeichenklasse
Extruder [A-C]
\d+
Eine oder mehrere Ziffern
Sensor \d+ findet Sensor 42
Filter by Name
Nur bestimmte Felder in der Ausgabe anzeigen.
Füge die Transformation Filter by name hinzu
Wähle Include (nur ausgewählte Felder anzeigen) oder Exclude (ausgewählte ausblenden)
Felder manuell per Checkboxen auswählen oder per Regex filtern

Regex-Beispiele für Filter by Name:
Include
Durchsatz|Temperatur
Nur Durchsatz- und Temperaturfelder anzeigen
Exclude
.*\(Soll\)
Alle Sollwerte ausblenden
Include
Extruder [AB].*
Nur Extruder A und B anzeigen
Mit Filter data by values kannst du auch Zeilen nach Bedingungen filtern, z. B. nur Datenpunkte anzeigen, bei denen die Temperatur > 200 °C liegt.
Regressionsanalyse
Trendlinien hinzufügen, um die Entwicklung von Daten über die Zeit zu erkennen.
Füge die Transformation Regression analysis hinzu
Setze X field auf das Zeitfeld und Y field auf das Wertfeld

Die Regressionslinie zeigt den Gesamttrend: steigend, fallend oder stabil.

Trendlinie gestalten
Die Regressionslinie hat standardmäßig keine Einheit und erscheint auf einer separaten Y-Achse. Füge einen Override hinzu:
Feld per Regex abgleichen:
.*predicted.*Setze die Unit auf die gleiche Einheit wie die Originaldaten
Wähle eine andere Farbe (z. B. Rot) und einen gestrichelten Linienstil
Daten kombinieren
Wenn du Daten aus mehreren Queries zusammenführen möchtest, stehen dir zwei Transformationen zur Verfügung:
Merge
Fasst alle Zeitreihen in einer Tabelle zusammen. Keine Konfiguration nötig.
Join by field
Verknüpft Tabellen über ein gemeinsames Feld (z. B. Zeitstempel). Mode: Inner, Left outer oder Right outer.
Beispiel: Maschinenvergleich
Dieses Beispiel zeigt, wie du mit einer Transformationskette den Durchsatz zweier Maschinen in einer kompakten Vergleichstabelle zusammenfasst.
Schritt 1: Zwei Queries anlegen
Erstelle zwei separate Queries, jeweils für eine Maschine. Benenne die Queries nach der Maschine (z. B. „Kiefel" und „Macchi"), damit die Daten später unterscheidbar sind.

Schritt 2: Transformationskette aufbauen
Wechsle zum Transform-Tab und füge die folgenden fünf Transformationen nacheinander hinzu:

Rename by regex (×2): Benenne das Feld „Durchsatz" in jeder Query um, damit die Maschine erkennbar wird. Match:
Durchsatz, Replace:Kiefelbzw.Macchi. Klicke auf das Filter-Symbol der Transformation und wähle unter Apply transformation to die jeweilige Query aus (z. B. „Query: Kiefel"). Dadurch wirkt jede Umbenennung nur auf die zugehörige Query.Join by field: Verbindet die beiden umbenannten Zeitreihen über den Zeitstempel zu einer gemeinsamen Tabelle.
Reduce: Aggregiert die Zeitreihen zu einer Zeile pro Maschine mit den Berechnungen Last *, Min, Max, Mean, All values und Difference.
Organize fields by name: Benennt die Spalten lesbarer um (z. B. „Field" → „Machine", „Last *" → „Current", „All values" → „Trend") und sortiert sie in die gewünschte Reihenfolge.
Ergebnis
Die fertige Tabelle vergleicht beide Maschinen auf einen Blick, inklusive Sparkline-Trendanzeige:

Die Spaltenformatierung (Bar Gauge für „Current", farbiger Hintergrund für „Change", Sparkline für „Trend") wird über Overrides > Fields with name > Cell options konfiguriert. Details dazu findest du im Tutorial Tabellen.
Nutze den Table view-Toggle im Panel-Editor, um nach jeder Transformation das Zwischenergebnis zu prüfen.
Tipps
Performance: Transformationen werden im Browser ausgeführt. Wenn möglich, schon auf Query-Ebene filtern.
Debuggen: Transformationen einzeln hinzufügen und den Table view-Toggle nutzen, um Zwischenergebnisse zu prüfen.
Gängige Muster: Zeitreihe → Übersichtstabelle: Reduce + Organize fields. Sparklines: Reduce mit All values + Override auf Zelltyp.
Nächste Schritte
Einführung in die ENLYZE API - API-basierte Dashboards für weiterführende Anwendungsfälle
Zuletzt aktualisiert