Hallo Zusammen
Ich tue mich etwas schwer mit der Bildung von zeitreihensummen.
Meine Zeitreihenwerte liegen in der folgenden Tabelle.
Wenn ich da ein Select mache dann kommt zum Beispiel
Die Zeitreihen 1 und 2 gehören zum Objekt 10.
Jetzt möchte ich aber eine Objektsumme bilden und zwar zum Beispiel über die ersten 3 Zeitreihen aber zeitstempelweise.
Ich will also in einer Zeile die Objektid das Datum und die Summe der Werte aus Zeitreihe
Also (1) und (5) addiert, (2) und (6) addiert usw. Soll natürlich auch mit mehr als 2 Zeitreihen gehen.
Wie kann ich das möglichst einfach lösen? Irgendwie hab ich gerade ein Brett vorm Kopf.
Geht das überhaupt mit einer SQL Abfrage oder muss ich mir da eine Funktion schreiben die die Daten aggregiert.
Ich tue mich etwas schwer mit der Bildung von zeitreihensummen.
Meine Zeitreihenwerte liegen in der folgenden Tabelle.
Code:
create table HD_TIMESERIES_VALUES
(
OID number(20) not null,
TS_ID NUMBER(20) not null,
VTIME DATE default sysdate not null,
VALUE NUMBER(20,6) default 0 not null,
STATUS1 VARCHAR2(1),
)
Wenn ich da ein Select mache dann kommt zum Beispiel
Code:
select t.OID, t.ts_id,t.vtime,t.value
from Hd_Timeseries_Values t
order by t.TS_ID, T.VTime
OID TS_ID VTIME VALUE
10 1 01.06.2012 01:00:00 0.45 (1)
10 1 01.06.2012 02:00:00 0.45 (2)
10 1 01.06.2012 03:00:00 0.45 (3)
10 1 01.06.2012 04:00:00 0.45 (4)
...
10 2 01.06.2012 01:00:00 0.35 (5)
10 2 01.06.2012 02:00:00 0.35 (6)
10 2 01.06.2012 03:00:00 0.35 (7)
10 2 01.06.2012 04:00:00 0.35 (8)
...
11 3 01.06.2012 01:00:00 0.25 (9)
11 3 01.06.2012 02:00:00 0.25 (10)
11 3 01.06.2012 03:00:00 0.25 (11)
11 3 01.06.2012 04:00:00 0.25 (12)
Die Zeitreihen 1 und 2 gehören zum Objekt 10.
Jetzt möchte ich aber eine Objektsumme bilden und zwar zum Beispiel über die ersten 3 Zeitreihen aber zeitstempelweise.
Ich will also in einer Zeile die Objektid das Datum und die Summe der Werte aus Zeitreihe
Also (1) und (5) addiert, (2) und (6) addiert usw. Soll natürlich auch mit mehr als 2 Zeitreihen gehen.
Code:
OID VTIME VALUE
10 01.06.2012 01:00:00 0.8 (1+5)
10 01.06.2012 02:00:00 0.8 (2+6)
10 01.06.2012 03:00:00 0.8 (3+7)
10 01.06.2012 04:00:00 0.8 (4+8)
...
11 01.06.2012 01:00:00 0.25 (9)
11 01.06.2012 02:00:00 0.25 (10)
11 01.06.2012 03:00:00 0.25 (11)
11 01.06.2012 04:00:00 0.25 (12)
Wie kann ich das möglichst einfach lösen? Irgendwie hab ich gerade ein Brett vorm Kopf.
Geht das überhaupt mit einer SQL Abfrage oder muss ich mir da eine Funktion schreiben die die Daten aggregiert.