Attribute und Zeitreihen
Attribute
Mithilfe von Attributen können Zeitreihen nicht nur kategorisiert werden, aber auch einfach aggregiert werden. So ist es möglich alle Zeitreihen eines Gebietes oder eines Lieferanten mit dem jeweiligen Attribut zu versehen und entsprechende Aggregate für Fahrplanmanagement oder Abrechnung zu berechnen.
In HAKOM TSM sind grundsätzlich 3 Gruppen von Attributstypen verfügbar:
- Einfache Attribute und
- Baumhierarchien
Einfache Attribute
Kategorien vs. Attribut Wert-Paare
Eine Kategorie ist ein Attribut ohne Wert, welche einer Zeitreihe zur Kategorisierung (wie ein "Tag") zugewiesen wird.
Ein Attribut-Wert Paar ist hingegen ein Attribut mit Wert. Durch Attribut-Wert Paar kann eine Zeitreihe zweierlei kategorisiert werden:
- Ist das Attribut zugewiesen oder nicht
- Mit welchem Wert wurde das Attribut zugewiesen
Aggregation von einfachen Attributen
Kategorieaggregate können in TSM App Hauptfenster via "Zeitreiheneigenschaftsaggregat" Funktion direkt aus dem Plugin ausgeführt werden.
Aggregation von weiterern Attribute inklusive wert-abhängige Aggregationen können sowohl aus der TSM App als auch aus der REST API mittels Formelfunktionen durchgeführt werden. Siehe Funktionen TSCA und TSAA in Formelzeitreihen)
Typen von einfachen Attributen
Für die TSM App stehen eine Reihe von unterschiedlichen Attribut-Typen (wie Text, Numeric, Date etc.) zur Verfügung (siehe auch Zeitreihen Erstellen, Bearbeiten und Löschen). Diese werden in TSM App entsprechend gegen Benutzereingaben validiert.
Dieselben Attribut-Typen können auch via WebTSM Services API verwaltet, zugewiesen werden, eine Validierung der Eingaben erfolgt in der API jedoch nicht.
Einfache Attribute in der Zeitreihensuche
In TSM App Zeitreihensuche ist es möglich gleichzeitig zwei Attribute in der Zeitreihensuche einzubeziehen. Wird ein Attribut-Wert Paar ausgewählt, so kann zusätzlich dessen Wert auch in die Suche einfließen.
In der WebTSM Services API ist die Anzahl der Attribute, bzw. Attribut|Wert Paare in der Zeitreihensuche unlimitiert. Es kann im Pfad /repositories/:repository/timeseries pro Attribut ein "attribute=Attributname" bzw. "attribute=Attributname|Attributwert" Parameter übergeben werden.
Anmerkung
In der WebTSM Services API kann mit derselben Logik auch ein Attribut der Typ Baumhierarchie in der Suche berücksichtigt werden.
Hierarchien mittels Attribute
Sogenannte Knotenattribute erlauben die Zuweisung von Zeitreihen zu komplexen Hierarchien. Dabei kann eine Zeitreihe in derselben Hierarchie nur in einem Knotenpunkt enthalten sein.
Aggregation von Knotenattribute
TSM App:
- Klicke auf Öffnen im TSM Ribbon
- Wähle Raster, Einheit und gegebenenfalls weitere Parameter (absteigend und / oder Fehlende leer) aus
- Wähle im Bereich Knotenaggregat einen Hauptknoten oder einer dessen Unterknoten aus
Betätige die Öffnen Schaltfläche
Anmerkung
Ein Knotenaggregat in TSM App wird immer alle dem ausgewählten Knoten untergeordnete Knoten (Kinder) enthalten.
WebTSM Services API:
- Aggregat auf Hauptknoten Ebene:
/repositories/:repository/trees/:id|name/sum
- Aggregat auf Unterknoten Ebene:
/repositories/:repository/trees/:id|name/nodes/:nodeId/sum
Tipp
Anders als in TSM App ist es in WebTSM Services API steuerbar, ob Unterknoten in die Berechnung miteinbezogen werden sollen oder nicht (siehe Parameter sumType
).
Knoten in der Zeitreihensuche
TSM App:
- Klicke auf Öffnen im TSM Ribbon
- Betätige die Suchen... Schaltfläche im Bereich Zeitreihe des TSM Fensters
- Es werden alle Knotenstrukturen im rechten Knotenpanel angezeigt, sofern mindestens ein Knotenattribut definiert wurde:
Anmerkung
Wird ein Knoten ausgewählt werden in der Suche alle Zeitreihen berücksichtigt die exakt dem ausgewählten Knoten zugewiesen sind. Zeitreihen aus Unterknoten werden derzeit in TSM App - Zeitreihensuche nicht berücksichtigt.
WebTSM Services API:
- unter dem
/repositories/:repository/timeseries
Pfad können Hierarchien via Parameter "attribute=Knotenattributname|KnotenID
" exakt gesucht werden. - Ferner ist es möglich alle Zeitreihendefinitionen auszugeben, die einem Knoten bzw. Unterknoten zugewiesen sind:
- Hauptknoten:
/repositories/:repository/trees/:id|name/sum
– sieheincludeTimeSeries
undincludeSubNodes
Parameter - Unterknoten:
/repositories/:repository/trees/:id|name/nodes/:nodeId/sum
– sieheincludeTimeSeries
undincludeSubNodes
Parameter
- Hauptknoten:
Sonderfall: Attribute mit Gültigkeitsbereich
In bestimmten Konstellationen ist es notwendig, dass zugewiesene Attributswerte sich über die Zeit ändern. Das kann der Fall sein, wenn zum Beispiel ein Attribut "Lieferant" ab einem Stichtag einen anderen Liefernaten widerspiegeln soll. Hierzu können in HAKOM TSM Attributswerte Stichtage ab denen sie gelten sollen vergeben werden. D.h. ein Attributswert ist immer bis zum nächsthöchsten Stichtag mit einem neuen Wert gültig. Solche Stichtage werden dann auch bei der Aggregation nach gewählten Attributswerten berücksichtigt.
Attribute verwalten
Attribute anlegen und anpassen
TSM App:
- Klicke auf Öffnen im TSM Ribbon
- Betätige die Suchen... Schaltfläche im Bereich Zeitreihe des TSM Fensters
- Wähle den Reiter Stammdaten im Fenster Zeitreihen Suche
- Die Liste der Attribute befindet sich in Tabelle Attribute
In der WebTSM Services API sind Attribut Management Funktionalitäten unter folgenden Pfaden erreichbar:
/attributetypes
- > GET: Liste der Attributstypen
/repositories/:repository/attributes
- > GET: Liste aller Attributen im System
- > POST: ein neues Attribut anlegen
/repositories/:repository/attributes/:id|name
- > GET: ein bestimmtes Attribut abrufen
- > POST: ein bestehendes Attribut anpassen
Body eines Attributes in REST API:
{
"ID": -1,
"Name": "SensorName",
"Description": "string",
"Type": 2
}
Anmerkung
ID: -1 wird für neue Objekte verwendet.
Attribute Zeitreihen zuweisen
TSM App:
- Klicke auf Öffnen im TSM Ribbon
- Betätige die Suchen... Schaltfläche im Bereich Zeitreihe des TSM Fensters
- Wähle die gewünschte Zeitreihe durch Eingabe der Suchparameter, Betätigen der Suche und Anklicken des Zeitreihennamens
- Wähle den Reiter Bearbeiten im Fenster Zeitreihen Suche > die Definition der gewählten Zeitreihe wird geladen
- Klicke auf Reiter Attribute
- Klicke auf das grüne Plus Ikon
um die Attributsuche zu öffnen
- Wähle die gewünschte Attribute aus und bestätige mit OK
Tipp
Es ist auch möglich eine vordefinierte Liste von Attributen auf einmal mithilfe von Attribut-Templates zuzuweisen.In der WebTSM Services API können Attribute über folgende Pfade Zeitreihen zugewiesen werden:
/repositories/:repository/timeseries/:id|name/attributes
- > GET: liest alle Attribute einer Zeitreihe aus
> POST: wenn in Body ein Einzelattribut > weist ein neues Attribut zu oder wenn in Body ein Listenobjekt > überschreibt alle zugewiesenen Attribute der Zeitreihe
Anmerkung
Wird via POST eine leere Liste übermittelt, so werden alle Attributszuweisungen der jeweiligen Zeitreihe gelöscht
/repositories/:repository/timeseries/:id|name/attributes/:id|name
- > GET: liest ein bestimmtes Attribute einer Zeitreihe aus
- > PUT: updatet ein bestimmtes Attribut
- > DELETE: löscht ein bestimmtes Attribut
/repositories/:repository/timeseries/:id|name/attributes/:id|name/values
- > GET: liest alle Werte aus (Response enthält nur eine "Dictionary" der Werte mit deren jeweiligen Gültigkeiten – siehe unten)
- > PUT: überschreibt alle zugewiesenen Werte des Attributs
- > DELETE: löscht alle zugewiesenen Werte für das jeweilige Attribut
/repositories/:repository/timeseries/:id|name/attributes/:id|name/values/:key
- > GET: ruft den zugewiesenen Wert eines Attributs zum gewählten Stichtag (Schlüssel) aus
- > PUT: überschreibt den zugewiesenen Wert eines Attributs zum gewählten Stichtag
- > DELETE: löscht den zugewiesenen Wert zum gewählten Stichtag inklusive Stichtag.
/repositories/:repository/trees
- > GET: liest die Hauptknoten aller definierten Hierarchien aus
- > POST: legt einen neuen Haupknoten für einen neuen Baumstruktur an
/repositories/:repository/trees/:id|name
- > GET: liest den Hauptknoten der gewählten Hierarchie aus
- > PUT: überschreibt den Haupknoten der gewählten Hierarchie
- > DELETE: löscht den gewählten Hauptknoten
/repositories/:repository/trees/:id|name/nodes
- > GET: liest den kompletten Baumstruktur der gewählten Hierarchie aus
- > POST: überschreibt den kompletten Baumstruktur der gewählten Hierarchie
Wir empfehlen folgendes Video unter Video Tutorials:
- Attributes