Kumulierte Werte pro Monat innerhalb eines Jahres

28/01/2010 - 14:50 von Gerald Aichholzer | Report spam
Hallo NG,

ich habe eine Tabelle mit Umsàtzen pro Monat und Jahr. Nun brauche
ich für jedes Monat die kumulierten Umsàtze "year-to-date", d.h.
vom Anfang des Jahres bis zum jeweiligen Monat.

Meine Idee ist für jedes Monat eine Liste der zu kumulierenden
Monate zu erzeugen ...

with cteZeit as (
select
MonatNr = n
from
dbo.Numbers(1,12) -- (*)
)
,cteZeitKum as (
select
MonatNrKum = z.MonatNr, zk.MonatNr
from
cteZeit z
inner join
cteZeit zk
on zk.MonatNr <= z.MonatNr
)

(*) Vielen Dank an den diesbezüglichen Hinweis in einem
anderen Thread vor ein paar Tagen :)


... und das Ergebnis mit den Daten zu verknüpfen:

select
zk.MonatNrKum,
UmsatzKum = sum(d.Umsatz)
from
dbo.Daten d
inner join
cteZeitKum zk
on zk.MonatNr = d.MonatNr
group by
zk.MonatNrKum


Die Lösung funktioniert, aber geht auch einfacher?

Vielen Dank für Tipps und schöne Grüße,
Gerald
 

Lesen sie die antworten

#1 Gerald Aichholzer
28/01/2010 - 15:00 | Warnen spam
Gerald Aichholzer wrote:
(*) Vielen Dank an den diesbezüglichen Hinweis in einem
anderen Thread vor ein paar Tagen :)



zur Sicherheit noch den Link dazu:
http://stevekass.com/2006/06/03/how...n-the-fly/

Ähnliche fragen