Abfragen (Queries)
Gespeicherte Abfragen lesen die Runtime-Entitäten (und die Stream Data) eines Tenants, ohne dass Sie GraphQL schreiben müssen. Sie erstellen sie im Explorer, führen sie aus, exportieren ihre Ergebnisse und verwenden sie als Datenquelle für MeshBoards, Power BI und Grafana. Die frühere Seite Query Builder gibt es nicht mehr: Abfragen sind der Tab Queries des Explorers.
Gespeicherte Abfragen öffnen
Wählen Sie in der Rail Data > Explorer und dann den Tab Queries (Adresse .../data/explorer/queries).

Links steht der Ordnerbaum (All queries, Ihre Ordner, Without folder), rechts die Liste der Abfragen mit den Spalten Name, Query Type, CK Type, Folder und Actions.
Symbolleiste
| Schaltfläche | Beschreibung |
|---|---|
| New query | Eine Abfrage erstellen (öffnet den Editor) |
| New folder | Einen Ordner für Abfragen anlegen (Rolle AdminPanelManagement nötig) |
| Import data | Daten aus einer Datei importieren |
| Import queries | Abfragedefinitionen aus einer Datei importieren |
| Move to… | Die ausgewählten Abfragen in einen Ordner verschieben |
| Show Row Filter, Export to Excel, Export to PDF, Refresh Data | Liste filtern, exportieren oder neu laden |
Ordner können verschachtelt werden; ziehen Sie eine Abfrage auf einen Ordner oder nutzen Sie Move to…. Eine Abfrage liegt in höchstens einem Ordner. Beim Löschen eines Ordners wandern seine Abfragen und Unterordner eine Ebene nach oben; Abfragen werden nie mit einem Ordner gelöscht.
Zeilenaktionen
Actions am Zeilenende öffnet ein Menü:
| Aktion | Beschreibung |
|---|---|
| Edit | Die Abfrage im Editor öffnen |
| Run | Die Abfrage ausführen und das Ergebnis anzeigen |
| Duplicate | Eine Kopie erstellen |
| Move to… | Die Abfrage in einen Ordner verschieben |
| Export results | Die Abfrage ausführen und das Ergebnis als ZIP-Datei exportieren |
| Export query | Die Abfragedefinition als ZIP-Datei exportieren |
| Delete | Die Abfrage löschen (mit Bestätigung) |
Ein Klick auf den Namen einer Abfrage führt sie aus.
Die Ergebnisseite
Run öffnet das Ergebnis in einer Tabelle mit Back to list, Edit query, Refresh und Export. Die Zeilenaktion Open in Explorer öffnet die Entität im Explorer. Bei einer Simple Query öffnet ein Klick auf eine Zeile die Entität neben dem Ergebnis (Details, Assoziationen, Typ); die Adresse endet dann mit ?entity=<rtId> und lässt sich teilen. Ergebnisse von Aggregationen und Stream Data haben keine Entitäten und öffnen nichts.
Eine Abfrage erstellen
Klicken Sie auf New query. Der Editor öffnet sich mit dem Titel New query; solange es ungespeicherte Änderungen gibt, zeigt das Kennzeichen Unsaved changes dies an.

Über dem Formular stehen Back to list, Save, Save as… und Execute. Unter dem Formular erscheint eine Vorschau des Ergebnisses (Query Results Preview).
Grundeinstellungen
| Feld | Beschreibung |
|---|---|
| Query Type | Die Art der Abfrage (siehe unten) |
| Query Name | Ein aussagekräftiger Name (Pflichtfeld) |
| CK Type | Der abzufragende Construction-Kit-Typ (Pflichtfeld) |
| Navigation Filter Mode | Wie Entitäten ohne passende Navigationsassoziationen behandelt werden |
Navigation Filter Mode
| Modus | Beschreibung |
|---|---|
| Filter | Entitäten ohne passende Navigationsassoziationen werden aus dem Ergebnis ausgeschlossen. |
| Include | Entitäten ohne passende Navigationsassoziationen bleiben mit leeren Werten erhalten. |
Abfragetypen

| Typ | Beschreibung |
|---|---|
| Simple Query | Daten mit Spalten, Sortierung und Filtern auflisten |
| Aggregation | Min, Max, Summe, Mittelwert und Anzahl berechnen |
| Grouped Aggregation | Nach Attributen gruppieren und aggregieren |
| Stream Data Query | Zeitreihendaten aus CrateDB abfragen |
| Stream Data Aggregation | Zeitreihendaten aggregieren (Min, Max, Mittelwert, Summe, Anzahl) |
| Stream Data Grouped Aggregation | Zeitreihendaten gruppieren und aggregieren |
| Stream Data Downsampling | Zeitreihendaten in Zeit-Buckets mit Aggregation verdichten |
Einen CK-Typ auswählen
Klicken Sie neben CK Type auf Select, oder tippen Sie in das Feld, um Vorschläge zu erhalten. Advanced Search... öffnet den Dialog Select Construction Kit Type mit Modellfilter, Typsuche und der Liste der Typen; bestätigen Sie mit OK.


Die übrigen Einstellungen (Spalten, Sortierung, Aggregation) bleiben deaktiviert, bis ein Typ ausgewählt ist.
Simple Query
Bei einer Simple Query konfigurieren Sie Spalten, Sortierung und Filter.
Spalten
Klicken Sie auf Configure Columns.... Der Dialog Select Columns listet die Available Attributes (Attributpfad, Typ, Beschreibung) des Typs auf und hat ein Suchfeld.

- Add selected, Remove selected, Add all und Remove all verschieben Attribute in die Ergebnisspalten.
- Move up und Move down ändern die Reihenfolge der Spalten.
- Include Navigation Properties, Max Depth und Include Multi-Associations bieten zusätzlich Attribute verknüpfter Entitäten an (z. B.
namePlate.manufacturerName). - OK übernimmt, Cancel verwirft.
Das Formular zeigt die gewählten Spalten als Zusammenfassung (z. B. „(5) name, machineState, power +2 more“).
Neben den Attributen des Typs stehen die Systemfelder rtDisplayName und rtDisplayDescription (berechnet aus den Anzeigenamen-Regeln des Typs) als Spalten, in Filtern und in der Sortierung zur Verfügung.
Attributtypen: STRING, INTEGER, INTEGER_64, BOOLEAN, DATE_TIME, DATE_TIME_OFFSET, ENUM, STRING_ARRAY und RECORD_ARRAY.

Sortierung
- Klicken Sie auf Configure Sorting....
- Wählen Sie ein Attribut und Ascending oder Descending; Add → fügt die Regel hinzu.
- Klicken Sie auf Apply.
Mehrere Regeln werden in der Reihenfolge der Liste angewendet.

Filter
Filter schränken das Ergebnis ein. Klicken Sie auf Add Filter; in der Tabelle erscheint eine Zeile mit den Spalten Attribute Path, Operator (Standard Equals) und Value. Remove Selected löscht die ausgewählten Zeilen. Mehrere Filter werden mit UND verknüpft.


Die Werteingabe richtet sich nach dem Datentyp des Attributs: Schalter für Boolean, Textfeld für Zeichenketten, Zahlenfeld für Zahlen, Datumswähler für Datumswerte.

| Operator | Beschreibung |
|---|---|
| Equals | Exakte Übereinstimmung |
| Not Equals | Stimmt nicht überein |
| Greater Than | Wert ist größer als |
| Greater Equal | Wert ist größer oder gleich |
| Less Than | Wert ist kleiner als |
| Less Equal | Wert ist kleiner oder gleich |
| Like | Musterabgleich (% als Platzhalter) |
| In | Wert ist in einer Liste enthalten |
| Not In | Wert ist nicht in einer Liste enthalten |
| Any Equals | Ein Array-Element stimmt überein |
| Any Like | Ein Array-Element passt auf das Muster |
| Match RegEx | Abgleich mit einem regulären Ausdruck |
Aggregationsabfragen
Aggregationsabfragen berechnen Zusammenfassungswerte, statt einzelne Entitäten zurückzugeben. Bei den Abfragetypen Aggregation und Grouped Aggregation ersetzt der Abschnitt Aggregation die Abschnitte Columns und Sorting. Configure Aggregation... öffnet den Dialog (aktiv, sobald ein CK-Typ gewählt ist).


Der Dialog Configure Aggregation Columns listet die Available Attributes (Attributpfad, Typ, Beschreibung) mit einem Suchfeld, dem Typfilter All Types und den Optionen Include Navigation Properties und Max Depth auf. In der Mitte wählen die Schaltflächen COUNT, MIN, MAX, AVG und SUM die Funktion; Add → fügt das gewählte Attribut mit dieser Funktion der Liste Selected rechts hinzu, deren Spalten Agg und Attribute Path heißen. Bestätigen Sie mit Apply, verwerfen Sie mit Cancel. Der Dialog hat kein Feld für einen Namen der Ergebnisspalte.
Eine Grouped Aggregation hat zusätzlich Group By: Das Ergebnis enthält eine Zeile je Wert des Gruppierungsattributs, z. B. die Anzahl der Benutzer je Abteilung.
Sie gelangen auch aus dem Explorer hierher: Aggregate… öffnet eine neue Abfrage vom Typ Aggregation, in der der gewählte Typ, die Spalten und die Filter-Chips bereits eingetragen sind.
Ausführen und speichern
- Execute führt die Abfrage aus und zeigt das Ergebnis in der Vorschau unter dem Formular.
- Save speichert die Abfrage; Save as… speichert sie unter neuem Namen. Aus dem Explorer erstellt Save as query eine Simple Query für den gewählten Typ (Sie geben einen Namen ein; Namen sind eindeutig).
- Gespeicherte Abfragen lassen sich aus der Liste ausführen, in MeshBoard-Widgets verwenden und von externen Werkzeugen wie Power BI oder Grafana lesen.
Stream Data Queries
Zusätzlich zu Abfragen auf Runtime-Entitäten unterstützt der Query-Editor das Abfragen von Zeitreihendaten, die in CrateDB gespeichert sind. Stream Data Queries ermöglichen es Ihnen, historische Messwerte wie Sensormesswerte, Maschinenkennzahlen oder Energieerzeugungswerte abzurufen, zu aggregieren und herunterzurechnen (Downsampling).
Zu den Details der zugrunde liegenden GraphQL-API siehe den Technikleitfaden Stream Data Access.
Stream-Data-Abfragetypen
Beim Erstellen einer neuen Abfrage stehen im Selektor Query Type die folgenden Stream-Data-Abfragetypen zur Verfügung:
| Typ | Beschreibung |
|---|---|
| Stream Data Query | Rohe Zeitreihen-Datenpunkte mit Spaltenauswahl abrufen |
| Stream Data Aggregation | Aggregierte Werte (AVG, MIN, MAX, COUNT, SUM) über Zeitreihendaten berechnen |
| Stream Data Grouped Aggregation | Zeitreihendaten gruppiert nach einer oder mehreren Spalten aggregieren |
| Stream Data Downsampling | Die Datendichte reduzieren, indem Zeitbereiche in Buckets aufgeteilt werden, mit Aggregation pro Bucket |
Einen CK-Typ für Stream Data auswählen
Wenn ein Stream-Data-Abfragetyp ausgewählt ist, zeigt der CK-Type-Selektor nur Typen an, für die Stream Data aktiviert ist (IsStreamType). Wählen Sie den Typ, dessen Zeitreihendaten Sie abfragen möchten (z. B. Industry.Energy/EnergyMeter).
Konfiguration einer Stream Data Simple Query
Für Stream-Data-Simple-Queries ähnelt die Konfiguration den Runtime-Simple-Queries:
- Columns: Wählen Sie, welche Datenstrom-Attribute in die Ergebnisse aufgenommen werden (z. B.
voltage,power). Nur als Datenstrom-Attribute markierte Attribute stehen zur Verfügung. - Time Range: Verwenden Sie die Datumswähler From und To, um die Abfrage auf ein bestimmtes Zeitfenster einzuschränken.
- Limit: Legen Sie die maximale Anzahl zurückzugebender Datenpunkte fest.
- Sorting: Fügen Sie Sortierregeln hinzu, um die Reihenfolge der Ergebnisse zu steuern (z. B. absteigend nach
timestampsortieren, um die neuesten zuerst zu erhalten). - Filters: Fügen Sie Feldfilter hinzu, um Ergebnisse anhand von Attributwerten einzugrenzen, mit denselben Operatoren wie bei Runtime-Abfragen.
Konfiguration einer Stream Data Aggregation
Für Stream-Data-Aggregation-Queries:
- Aggregation Columns: Wählen Sie Attribute und weisen Sie jedem eine Aggregationsfunktion zu:
- AVG — Durchschnittswert
- MIN — Minimalwert
- MAX — Maximalwert
- COUNT — Anzahl der Datenpunkte
- SUM — Summe der Werte
- Time Range: Optionale From-/To-Einschränkung.
- Limit: Maximale Anzahl zurückzugebender Zeilen.
- Filters: Optionale Filter auf Feldebene, die vor der Aggregation angewendet werden.
Konfiguration einer Stream Data Grouped Aggregation
Für Stream-Data-Grouped-Aggregation-Queries:
- Group By: Wählen Sie ein oder mehrere Attribute, nach denen die Ergebnisse gruppiert werden (z. B. Gruppierung nach
rtId, um Aggregationen pro Entität zu erhalten). - Aggregation Columns: Wie bei Aggregation-Queries — wählen Sie Attribute mit Aggregationsfunktionen.
- Time Range, Limit und Filters: Wie oben.
Konfiguration von Stream Data Downsampling
Downsampling teilt einen Zeitbereich in gleich große Buckets und berechnet eine Aggregation pro Bucket. Dies ist ideal für Diagramm- und Dashboard-Visualisierungen.
- Aggregation Columns: Wählen Sie Attribute mit Aggregationsfunktionen (AVG, MIN, MAX).
- From und To: Erforderlich — definieren den zu downsamplenden Zeitbereich.
- Limit: Erforderlich — die Anzahl der zu erzeugenden Zeit-Buckets. Die Bucket-Größe wird als
(to - from) / limitberechnet. Ein 24-Stunden-Bereich mit Limit 24 erzeugt beispielsweise stündliche Buckets. - Filters: Optionale Filter auf Feldebene.
Stream-Data-Ergebnisse ausführen und anzeigen
Klicken Sie auf Execute, um die Stream-Data-Abfrage auszuführen. Die Ergebnisse werden in Tabellenform angezeigt mit:
- Timestamp: Der Zeitpunkt jedes Datenpunkts (bzw. der Bucket-Beginn beim Downsampling)
- Entity: Die Runtime-Entität (
rtId/rtWellKnownName), zu der die Daten gehören - Data columns: Die angeforderten Attributwerte oder aggregierten Ergebnisse
Die Ergebnisse unterstützen Paginierung für große Datenmengen.
Stream Data Queries speichern
Klicken Sie auf Save, um die Stream-Data-Abfrage zu speichern. Gespeicherte Stream Data Queries können:
- aus der Liste der gespeicherten Abfragen erneut ausgeführt werden
- als Datenquellen in MeshBoard-Widgets (KPI, Gauge, Chart, Table) verwendet werden
- von externen Werkzeugen wie Power BI oder Grafana referenziert werden
Bewährte Vorgehensweisen
- Abfragen aussagekräftig benennen: Verwenden Sie klare Namen, die angeben, was die Abfrage zurückgibt
- Filter effektiv einsetzen: Grenzen Sie Ergebnisse ein, um die Performance zu verbessern
- Nur benötigte Spalten auswählen: Nehmen Sie nur die Attribute auf, die Sie benötigen, um die Datenübertragung zu reduzieren
- Vor dem Speichern testen: Führen Sie die Abfrage aus, um die Ergebnisse vor dem Speichern zu überprüfen
- Aggregationen für Zusammenfassungen verwenden: Verwenden Sie Aggregation-Queries, anstatt alle Daten abzurufen und clientseitig zu berechnen
- Performance berücksichtigen: Komplexe Abfragen auf großen Datenmengen können länger dauern
- Downsampling für Diagramme verwenden: Verwenden Sie beim Visualisieren von Zeitreihendaten auf Dashboards Downsampling, um die Datenpunkte auf eine handhabbare Zahl zu reduzieren, die zur Auflösung Ihres Diagramms passt
- Zeitbereiche setzen: Setzen Sie bei Stream-Data-Abfragen immer einen Zeitbereich, um zu vermeiden, dass die gesamte Historie abgefragt wird
Anwendungsfälle
Datenexploration
- Entitäten eines bestimmten Typs durchsuchen
- Nach Entitäten suchen, die Kriterien erfüllen
- Attribute und Beziehungen von Entitäten anzeigen
Zeitreihenanalyse
- Historische Sensormesswerte für eine bestimmte Maschine anzeigen
- Spannungstrends über mehrere Energiezähler hinweg vergleichen
- Anomalien in Messdaten erkennen
Berichtswesen
- Entitäten nach Status zählen
- Durchschnitte und Summen berechnen
- Daten gruppieren und zusammenfassen
- Periodische Zusammenfassungen von Zeitreihenkennzahlen erstellen
Dashboard-Datenquellen
- Abfragen für MeshBoard-Widgets erstellen
- Wiederverwendbare Datenextraktionen aufbauen
- Gefilterte Ansichten für spezifische Anwendungsfälle einrichten
- Downsampling-Abfragen für Zeitreihen-Diagramm-Widgets verwenden
Power-BI-Integration
- Gespeicherte Abfragen als Datenquellen für Power-BI-Berichte und -Dashboards verwenden
- Aggregation-Queries für vorberechnete Zusammenfassungen in Power BI nutzen
Grafana-Integration
- Gespeicherte Abfragen mit Grafana-Dashboards für die Echtzeitüberwachung verbinden
- Aggregation-Queries für Zeitreihen- und Metrik-Visualisierungen verwenden