Zum Inhalt

Feldversionierung

Feldversionierung und Historie

Warum Versionierung nötig ist

Ein Feld kann heute „Stress 0–10“ und später „Stress 1–5“ heißen. Würde die bestehende Definition einfach überschrieben, wären alte Werte nicht mehr eindeutig interpretierbar.

Steady trennt deshalb:

  • physische Feld-ID: konkrete Version,
  • logicalId: fachlich derselbe Messwert über mehrere Versionen.
flowchart LR
    F1[stress<br/>Version 1<br/>id: stress] -->|Typ oder Skala geändert| F2[stress<br/>Version 2<br/>id: stress-xyz]
    F1 -. logicalId: stress .- F2
    F1 -->|retired / supersededBy| F2

Wann eine neue Version entsteht

Wenn historische Werte existieren und sich eine versionierte Eigenschaft ändert, wird das alte Feld stillgelegt und ein Ersatz angelegt. Dazu gehören unter anderem:

  • Labels und Bereich
  • Typ und Optionen
  • Minimum, Maximum, Schrittweite und Einheit
  • Zielrichtung und Zielbereich
  • Standardwert und Statistikfreigabe

Wie Analytics damit umgeht

Explorer und Statistik suchen alle Felder mit derselben logicalId. Beim Lesen eines Tages wird die Feldversion verwendet, deren ID tatsächlich im Tagesdatensatz vorhanden ist.

flowchart TD
    E[Tagesdatensatz] --> K{welche Feld-ID ist vorhanden?}
    K --> V1[alte Version]
    K --> V2[neue Version]
    V1 --> L[gemeinsamer logischer Messwert]
    V2 --> L
    L --> A[Aggregation]

Wichtig für zukünftige Änderungen

Eine neue analytische Eigenschaft muss in die Liste der versionierten Eigenschaften aufgenommen werden, wenn ihre Änderung die historische Bedeutung verändert. Andernfalls könnte eine neue Konfiguration rückwirkend alte Daten anders bewerten.

Quellen