Zum Hauptinhalt springen

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).

Gespeicherte Abfragen

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ächeBeschreibung
New queryEine Abfrage erstellen (öffnet den Editor)
New folderEinen Ordner für Abfragen anlegen (Rolle AdminPanelManagement nötig)
Import dataDaten aus einer Datei importieren
Import queriesAbfragedefinitionen aus einer Datei importieren
Move to…Die ausgewählten Abfragen in einen Ordner verschieben
Show Row Filter, Export to Excel, Export to PDF, Refresh DataListe 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ü:

AktionBeschreibung
EditDie Abfrage im Editor öffnen
RunDie Abfrage ausführen und das Ergebnis anzeigen
DuplicateEine Kopie erstellen
Move to…Die Abfrage in einen Ordner verschieben
Export resultsDie Abfrage ausführen und das Ergebnis als ZIP-Datei exportieren
Export queryDie Abfragedefinition als ZIP-Datei exportieren
DeleteDie 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.

Neue Abfrage

Über dem Formular stehen Back to list, Save, Save as… und Execute. Unter dem Formular erscheint eine Vorschau des Ergebnisses (Query Results Preview).

Grundeinstellungen​

FeldBeschreibung
Query TypeDie Art der Abfrage (siehe unten)
Query NameEin aussagekräftiger Name (Pflichtfeld)
CK TypeDer abzufragende Construction-Kit-Typ (Pflichtfeld)
Navigation Filter ModeWie Entitäten ohne passende Navigationsassoziationen behandelt werden
ModusBeschreibung
FilterEntitäten ohne passende Navigationsassoziationen werden aus dem Ergebnis ausgeschlossen.
IncludeEntitäten ohne passende Navigationsassoziationen bleiben mit leeren Werten erhalten.

Abfragetypen​

Abfragetypen

TypBeschreibung
Simple QueryDaten mit Spalten, Sortierung und Filtern auflisten
AggregationMin, Max, Summe, Mittelwert und Anzahl berechnen
Grouped AggregationNach Attributen gruppieren und aggregieren
Stream Data QueryZeitreihendaten aus CrateDB abfragen
Stream Data AggregationZeitreihendaten aggregieren (Min, Max, Mittelwert, Summe, Anzahl)
Stream Data Grouped AggregationZeitreihendaten gruppieren und aggregieren
Stream Data DownsamplingZeitreihendaten 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.

CK-Typ-Auswahl

Typ ausgewählt

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.

Spaltendialog

  • 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.

Spalten ausgewählt

Sortierung​

  1. Klicken Sie auf Configure Sorting....
  2. Wählen Sie ein Attribut und Ascending oder Descending; Add → fügt die Regel hinzu.
  3. Klicken Sie auf Apply.

Mehrere Regeln werden in der Reihenfolge der Liste angewendet.

Konfigurierte Abfrage

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.

Filterzeile

Filterattribute

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.

Filteroperatoren

OperatorBeschreibung
EqualsExakte Übereinstimmung
Not EqualsStimmt nicht überein
Greater ThanWert ist größer als
Greater EqualWert ist größer oder gleich
Less ThanWert ist kleiner als
Less EqualWert ist kleiner oder gleich
LikeMusterabgleich (% als Platzhalter)
InWert ist in einer Liste enthalten
Not InWert ist nicht in einer Liste enthalten
Any EqualsEin Array-Element stimmt überein
Any LikeEin Array-Element passt auf das Muster
Match RegExAbgleich 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).

Aggregationsabfrage

Aggregationsdialog

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:

TypBeschreibung
Stream Data QueryRohe Zeitreihen-Datenpunkte mit Spaltenauswahl abrufen
Stream Data AggregationAggregierte Werte (AVG, MIN, MAX, COUNT, SUM) über Zeitreihendaten berechnen
Stream Data Grouped AggregationZeitreihendaten gruppiert nach einer oder mehreren Spalten aggregieren
Stream Data DownsamplingDie 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 timestamp sortieren, 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) / limit berechnet. 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​

  1. Abfragen aussagekräftig benennen: Verwenden Sie klare Namen, die angeben, was die Abfrage zurückgibt
  2. Filter effektiv einsetzen: Grenzen Sie Ergebnisse ein, um die Performance zu verbessern
  3. Nur benötigte Spalten auswählen: Nehmen Sie nur die Attribute auf, die Sie benötigen, um die Datenübertragung zu reduzieren
  4. Vor dem Speichern testen: Führen Sie die Abfrage aus, um die Ergebnisse vor dem Speichern zu überprüfen
  5. Aggregationen für Zusammenfassungen verwenden: Verwenden Sie Aggregation-Queries, anstatt alle Daten abzurufen und clientseitig zu berechnen
  6. Performance berücksichtigen: Komplexe Abfragen auf großen Datenmengen können länger dauern
  7. 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
  8. 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