Skip to main content
Skip table of contents

Zeitreihen mit und ohne Intervall

Was sind spontane Zeitreihen

Spontane, oft auch asynchrone oder azyklische Zeitreihen genannt, sind Zeitreihen mit variablem Zeitabstand zwischen zwei Werten.

Spontane vs. Zyklische Zeitreihen

Die nachfolgende Darstellung zeigt die Unterschiede einer spontanen Zeitreihe im Vergleich zu zyklischen Zeitreihen. 


Spontane Zeitreihe

Zyklische Zeitreihe

Zeitachse

Die Zeitachse ist variabel, die Zeitspanne zwischen zwei Einträgen kann frei - unterschiedlich lang gewählt werden.


Die Zeitachse folgt einem fixen Raster, die Zeitspanne zwischen zwei Einträgen ist somit immer gleich lang.


Gültigkeit der Werte

Ein Wert gilt immer bis zum nächsten Wert auf der Zeitachse. Der letzte Wert auf der Zeitachse gilt bis UniversalTime.Max (also unendlich).

Beispiel: spontane Leistungszeitreihe

#ZeitstempelGültigkeitWert
101.01.2020 00:00bis #210
201.01.2020 02:00bis #330
301.01.2020 03:00bis #435
401.01.2020 05:00bis unendlich100


Ein Wert gilt immer bis zum Ende des der Zeitreihe zugewiesenen Intervalls.

Beispiel: zyklische Leistungszeitreihe, die die spontane Zeitreihe im Beispiel links nachbildet. (Der letzte Wert müsste für einen langen Zeitraum fortgeschrieben werden.)

ZeitstempelGültigkeitWert
01.01.2020 00:0001.01.2020 01:0010
01.01.2020 01:0001.01.2020 02:0010
01.01.2020 02:0001.01.2020 03:0030
01.01.2020 03:0001.01.2020 04:0035
01.01.2020 04:0001.01.2020 05:0035
01.01.2020 05:0001.01.2020 06:00100
01.01.2020 06:0001.01.2020 07:00100
......100


Rasterung

Eine spontane Zeitreihe kann in beliebigem Raster abgefragt werden.

Eine zyklische Zeitreihe kann in beliebigem Raster abgefragt werden.

Speicherbedarf und Komprimierbarkeit

Spontane Zeitreihen benötigen aufgrund ihrer Eigenschaften weniger Speicherplatz als zyklische Zeitreihen, können aber aufgrund der selben Eigenschaften nicht sinnvoll in gleichlange Zeitblöcke komprimiert werden. Siehe auch Komprimierte Zeitreihen.

Zyklische Zeitreihen benötigen mehr Speicherplatz im Vergleich zu spontanen Zeitreihen, können aber in gleichlangen Zeitblöcke komprimiert werden. Siehe auch Komprimierte Zeitreihen.


Wann sollten spontane Zeitreihen verwendet werden?

Je nach fachlichem Hintergrund, Datenmenge, Performanceanforderungen und Abstand zwischen zwei Wertänderungen sind spontane Zeitreihen oder zyklische Zeitreihen besser geeignet.

Wann spontane Zeitreihe

  • Werte müssen sowohl beim Speichern als auch bei der Abfrage azyklisch bleiben und über Rastergrenzen hinaus gelten.

  • Hinsichtlich Komprimierbarkeit: Anzahl der Werte im Vergleich zu einer Zeitreihe mit fixem Wertzyklus ist gering genug, dass von einer komprimierten Zeitreihe keine Performancegewinne zu erzielen sind. Das wäre dann der Fall, wenn ein Komprimierungsblock (zum Beispiel 1 Tag bei Stundenraster) größer wäre, als alle Daten einer spontanen Zeitreihe im selben Zeitraum.

Wann keine spontane Zeitreihe

  • Wenn kein fachlicher Hintergrund besteht UND

  • Hinsichtlich Komprimierbarkeit: komprimiert bessere Performance erzielt werden kann.

Verhalten von spontanen Zeitreihen

Spontane Zeitreihen können ohne Intervall ("NoInterval") oder mit einem bestimmten Intervall (wie "Hour", "Day" etc.) definiert werden. Spontane Zeitreihen ohne Intervall verhalten sich tatsächlich spontan (wie oben beschrieben), wohingegen sich spontane Zeitreihen mit Intervall analog zu zyklischen Zeitreihen verhalten.

D.h. bei spontanen Zeitreihen ohne Intervall gilt jeder Wert immer bis zur nächsten Wertänderung. Bei spontanen Zeitreihen mit Intervall gilt jeder übermittelte Wert bis zum Ende des jeweiligen Intervalls oder bis zur nächsten Wertänderung (je nachdem was vorher zutrifft).

Mit vs. ohne Intervall

Die folgenden WebTSM Services API Request Beispiele sollen die Unterschiede verdeutlichen.

Zeitreihendefinitionen

Es werden zwei Zeitreihen angelegt. Eine mit und eine ohne Intervall:

Name

Type

Interval.Value

Interval.Multiplier

Unit

Spontaneous_NoInterval

Spontaneous

No

1

kWh

Spontaneous_Interval_1h

Spontaneous

Hour

1

kWh


WebTSM Services API Beispiel
XML
POST {{baseUrl}}\repositories\ZAMS\timeseriescollections\definition
[
    {
        "ID": -1,
        "Name": "Spontaneous_NoInterval",
        "Type": 3,
        "Interval": {
            "Value": 0,
            "Multiplier": 1
        },
        "Unit": "kWh"
    },
    {
        "ID": -1,
        "Name": "Spontaneous_Interval_1h",
        "Type": 3,
        "Interval": {
            "Value": 3,
            "Multiplier": 1
        },
        "Unit": "kWh"
    }
]

Daten ohne Intervall ("NoInterval")

Als erstes schauen wir an wie sich Daten ohne Intervall verhalten, wenn sie zu einer Zeitreihe ohne, bzw. mit Intervall gespeichert werden.

Speichern

Wir speichern folgende Daten, wobei zwischen den Werten eine Lücke von einem Tag besteht:

Zeitstempel

Wert

2019-12-31T23:00:00Z

22,8

2020-01-01T23:00:00Z

23,9


WebTSM Services API Beispiel
XML
POST {{baseUrl}}/repositories/ZAMS/timeseriescollections/data
[
	{
		"Name": "Spontaneous_NoInterval",
		"Data":
		{
		    "Interval": {
		        "Value": 0,
		        "Multiplier": 1
		    },
		    "Unit": "kWh",
		    "Data": [
		        {
		            "From": "2019-12-31T23:00:00Z",
		            "Value": 22.8,
		            "Flag": 9
		        },
		        {
		            "From": "2020-01-01T23:00:00Z",
		            "Value": 23.6,
		            "Flag": 9
		        }
		    ]
		}
	},
	{
		"Name": "Spontaneous_Interval_1h",
		"Data":
		{
		    "Interval": {
		        "Value": 0,
		        "Multiplier": 1
		    },
		    "Unit": "kWh",
		    "Data": [
		        {
		            "From": "2019-12-31T23:00:00Z",
		            "Value": 22.8,
		            "Flag": 9
		        },
		        {
		            "From": "2020-01-01T23:00:00Z",
		            "Value": 23.6,
		            "Flag": 9
		        }
		    ]
		}
	}
]
Response

In der Response sehen wir, dass spontane Daten ohne Intervall nicht an einer Zeitreihe mit definiertem Intervall gespeichert werden konnten. Grund dafür ist, dass das System stets versucht übermittelte Daten auf das Intervall der Zielzeitreihe zu konvertieren. Bei Daten ohne Intervall würde das zu einer Division durch Unendlich führen, weil der letzte übermittelte Datenpunkt bis zur Unendlichkeit gilt.

Zeitstempel

Spontaneous_NoInterval

Spontaneous_Interval_1h

Request Status

201

400

Beschreibung

Gespeichert

Kann keine Daten ohne Intervall auf eine Zeitreihe mit Intervall speichern.


WebTSM Services API Response
XML
[
    {
        "ID": 13131,
        "Name": "Spontaneous_NoInterval",
        "Status": 201,
        "Message": "Time series data successfully saved.",
        "Details": null
    },
    {
        "ID": null,
        "Name": "Spontaneous_Interval_1h",
        "Status": 400,
        "Message": "Requested data items exceed configured 'GetDataInTargetInterval'. Try partitioning your time period into multiple requests or choose a larger interval.",
        "Details": null
    }
]
Daten-Abruf

Eine Kontrolle der Werte zeigt folgendes Ergebnis:

Zeitstempel

Spontaneous_NoInterval

Spontaneous_Interval_1h

2019-12-31T23:00:00Z

22,8

0

2020-01-01T23:00:00Z

23,9

- (Zeitstempel existiert nicht)


WebTSM Services API Beispiel
XML
GET {{baseUrl}}/repositories/ZAMS/timeseriescollections/data?name=Spontaneous_NoInterval&name=Spontaneous_Interval_1h&from=2019-12-31T23:00:00Z&to=2020-01-02T23:00:00Z
[
    {
        "ID": 13131,
        "Name": "Spontaneous_NoInterval",
        "Status": 200,
        "Message": null,
        "Details": null,
        "Data": {
            "Interval": {
                "Value": 0,
                "Multiplier": 1
            },
            "Unit": "KWh",
            "Data": [
                {
                    "From": "2019-12-31T23:00:00Z",
                    "Value": 22.8,
                    "Flag": 9
                },
                {
                    "From": "2020-01-01T23:00:00Z",
                    "Value": 23.6,
                    "Flag": 9
                }
            ]
        }
    },
    {
        "ID": 13130,
        "Name": "Spontaneous_Interval_1h",
        "Status": 200,
        "Message": null,
        "Details": null,
        "Data": {
            "Interval": {
                "Value": 0,
                "Multiplier": 1
            },
            "Unit": "KWh",
            "Data": [
                {
                    "From": "2019-12-31T23:00:00Z",
                    "Value": 0.0,
                    "Flag": 19
                }
            ]
        }
    }
]

Daten mit Intervall ("Hour")

Ein Versuch dieselben Daten mit einem Abstand von einem Tag - diesmal mit dem Intervall Stunde - zu übermitteln soll den Unterschied zu Daten ohne Intervall hervorheben.

Speichern

Es werden dieselben Zeitstempel mit denselben Werten genommen:

Zeitstempel

Wert

2019-12-31T23:00:00Z

22,8

2020-01-01T23:00:00Z

23,9

Anmerkung: die Daten sind zwar im Stundenraster, es wurden aber einige Zeitstempel ausgelassen, diese werden mit 0 automatisch angenommen.

Vollständig ausgerollt würden die Daten so aussehen:

Zeitstempel

Wert

2019-12-31T23:00:00Z

22,8

2020-01-01T00:00:00Z

0

2020-01-01T01:00:00Z

0

...

0

2020-01-01T23:00:00Z

23,9

2020-01-02T00:00:00Z

0


WebTSM Services API Beispiel
XML
POST {{baseUrl}}/repositories/ZAMS/timeseriescollections/data
[
	{
		"Name": "Spontaneous_NoInterval",
		"Data":
		{
		    "Interval": {
		        "Value": 3,
		        "Multiplier": 1
		    },
		    "Unit": "kWh",
		    "Data": [
		        {
		            "From": "2019-12-31T23:00:00Z",
		            "Value": 22.8,
		            "Flag": 9
		        },
		        {
		            "From": "2020-01-01T23:00:00Z",
		            "Value": 23.6,
		            "Flag": 9
		        }
		    ]
		}
	},
	{
		"Name": "Spontaneous_Interval_1h",
		"Data":
		{
		    "Interval": {
		        "Value": 3,
		        "Multiplier": 1
		    },
		    "Unit": "kWh",
		    "Data": [
		        {
		            "From": "2019-12-31T23:00:00Z",
		            "Value": 22.8,
		            "Flag": 9
		        },
		        {
		            "From": "2020-01-01T23:00:00Z",
		            "Value": 23.6,
		            "Flag": 9
		        }
		    ]
		}
	}
]
Response

Daten mit Intervall können sowohl auf Zeitreihen ohne Intervall als auch auf Zeitreihen mit Intervall gespeichert werden:

Zeitstempel

Spontaneous_NoInterval

Spontaneous_Interval_1h

Request Status

201

201

Beschreibung

Gespeichert

Gespeichert


WebTSM Services API Response
XML
[
    {
        "ID": 13132,
        "Name": "Spontaneous_NoInterval",
        "Status": 201,
        "Message": "Time series data successfully saved.",
        "Details": null
    },
    {
        "ID": 13133,
        "Name": "Spontaneous_Interval_1h",
        "Status": 201,
        "Message": "Time series data successfully saved.",
        "Details": null
    }
]
Daten-Abruf

Kontrolle:

Zeitstempel

Spontaneous_NoInterval

Spontaneous_Interval_1h

2019-12-31T23:00:00Z

22,8

22,8

2020-01-01T00:00:00Z

0

0

2020-01-01T23:00:00Z

23,9

23,9

2020-01-02T00:00:00Z

0

0


WebTSM Services API Beispiel
XML
{{baseUrl}}/repositories/ZAMS/timeseriescollections/data?name=Spontaneous_NoInterval&name=Spontaneous_Interval_1h&from=2019-12-31T23:00:00Z&to=2020-01-02T23:00:00Z
[
    {
        "ID": 13132,
        "Name": "Spontaneous_NoInterval",
        "Status": 200,
        "Message": null,
        "Details": null,
        "Data": {
            "Interval": {
                "Value": 0,
                "Multiplier": 1
            },
            "Unit": "KWh",
            "Data": [
                {
                    "From": "2019-12-31T23:00:00Z",
                    "Value": 22.8,
                    "Flag": 9
                },
                {
                    "From": "2020-01-01T00:00:00Z",
                    "Value": 0.0,
                    "Flag": 19
                },
                {
                    "From": "2020-01-01T23:00:00Z",
                    "Value": 23.6,
                    "Flag": 9
                },
                {
                    "From": "2020-01-02T00:00:00Z",
                    "Value": 0.0,
                    "Flag": 19
                }
            ]
        }
    },
    {
        "ID": 13133,
        "Name": "Spontaneous_Interval_1h",
        "Status": 200,
        "Message": null,
        "Details": null,
        "Data": {
            "Interval": {
                "Value": 0,
                "Multiplier": 1
            },
            "Unit": "KWh",
            "Data": [
                {
                    "From": "2019-12-31T23:00:00Z",
                    "Value": 22.8,
                    "Flag": 9
                },
                {
                    "From": "2020-01-01T00:00:00Z",
                    "Value": 0.0,
                    "Flag": 19
                },
                {
                    "From": "2020-01-01T23:00:00Z",
                    "Value": 23.6,
                    "Flag": 9
                },
                {
                    "From": "2020-01-02T00:00:00Z",
                    "Value": 0.0,
                    "Flag": 19
                }
            ]
        }
    }
]

Daten ohne und mit Intervall an eine Spontane Zeitreihe ohne Intervall im Vergleich

Zusammengefasst folgende Nebeneinanderstellung zeigt den Unterschied zwischen Daten ohne und mit Intervall:

Ohne Intervall

Mit Intervall

Der jeweilige Wert gilt bis zur nächsten Änderung

ZeitstempelWert
2019-12-31T23:00:00Z22,8
2020-01-01T23:00:00Z23,9


Der jeweilige Wert gilt bis zum Ende des Intervalls

ZeitstempelWert
2019-12-31T23:00:00Z22,8
2020-01-01T00:00:00Z0
2020-01-01T23:00:00Z23,9
2020-01-02T00:00:00Z0



Wir empfehlen folgendes Video unter Video Tutorials:

  • Types of Time Series



JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.