SQL: isol. und kummulierte Werte ermitteln

Um in Reports isolierte und kummulierte Werte parallel anzuzeigen, läßt sich die analytische Funktion von Oracle nutzen:

select QUARTAL,
PK_ID,
Anz_AKT,
sum(Anz_AKT) over (partition by PK_ID, ceil(QUARTAL/10) order by QUARTAL) Anz_KUM
from
(
select F.PK_ID,
F.QUARTAL,
sum(F.ANZ_FAELLE) Anz_AKT
from FACT_TBL F
where F.PK_ID in ('123')
group by F.QUARTAL, F.PK_ID,
);

Der innere select liefert die je Quartal zusammengefassten Werte, die im äußeren select innerhalb des Jahres (ceil(quartal/10)) aufsummiert werden.
Das Ergebnis ist z.B. folgende Liste:
QUARTAL
PK_ID
ANZ_AKT
ANZ_KUM
20021
6410220
9810
9810
20061
6410220
1719
1719
20062
6410220
3819
5538
20063
6410220
3827
9365
20064
6410220
4233
13598
20081
6410220
1168
1168

Innerhalb eines jeden Jahres werden die Werte aufsummiert.

So können mit einer Abfrage elegant isol. und kum. Werte angezeigt werden.

Kommentare

Beliebte Posts aus diesem Blog

PGA unter Oracle 11g

trunc(sysdate) - nette Spiele mit dem Datum

Datapump - Verzeichnis erstellen