Kumulativer Umsatz
Hallo,
in meiner Datenbank wir jeden Monat 1 neuer Datensatz angelegt, in welchem u.a. der Monatsgewinn/verlust (X) berechnet wird.
Nun benötige ich im immer im Laufe eines Geschäftsjahres monatlich eine kumulative Summe (Y) dieser Position, mit neuem Geschäftsjahr muss aber wieder von vorne begonnen werden.
Jan 23: Y (Jan 23) = X (Jan 23)
Feb 23: Y = X (Jan 23) + X (Feb 23)
März 23: Y = Y (Feb 23) + X (Mar 23) - oder aber Y = X (Jan 23) + X (Feb 23) + X (Mar 23)
.....
Dez 23: Y = Y (Nov 23) + X (Dez 23) - oder aber Y = X (Jan 23) + X (Feb 23) + X (Mar 23)....... + X (Dez 23).
Mit Jänner 24 soll das Ganze dann wieder mit
Jan 24: Y (Jan 24) = X (Jan 24)
....
Könnt ihr mir da vielleicht mit einem Lösungsansatz helfen?
Danke!!
10 Antworten
-
Hallo alexandra, mir stellt sich die Frage, wie die Tabelle mit den Monatsbeträgen genau aufgebaut ist. Wenn es da neben den Beträgen bspw. ein Feld für das Jahr und eines für den Monat gäbe, dann könnte man die Monatswerte ja einfach summieren. Als Beispiel für ein Formelfeld:
let me := this; sum((select TABELLE where Jahr = me.Jahr and Monat <= me.Monat).BETRAG)
Aber vielleicht habe ich die Aufgabenstellung auch nicht richtig verstanden.
-
Hallo,
vielen Dank für die hilfreiche Antwort. Das funktioniert so grundsätzlich, ich habe nur eine - offenbar doch wichtige - Information unterschlagen, weil ich es nicht zu kompliziert machen wollte: Ich habe leider kein "gerades" Geschäftsjahr, sondern eines, das im Mai beginnt um im August aufhört. Somit muss ich immer ab Mai anfangen neu aufzuaddieren. Hast du hier vielleicht auch noch einen Trick für mich? Lg Alex
-
said:
[...] kein "gerades" Geschäftsjahr, sondern eines, das im Mai beginnt um im August aufhört.Dein Geschäftsjahr umfasst tatsächlich nur vier Monate?
-
Lieber @torsten_stang.1 und @planox.pro,
ich habe die Berechnung auf der Basis des Buchungsperiodenvorschlages umgesetzt - vielen Dank für eure Unterstützung!!
-
Hier noch eine Einfeldvariante. Mirko
let me := this.Datum; sum((select Tabelle)[yearmonth(Datum) <= yearmonth(me) and if month(me) <= 4 then yearmonth(Datum) >= yearmonth(date(year(me) - 1, 5, 1)) else yearmonth(Datum) >= yearmonth(date(year(me), 5, 1)) end].Betrag)
-
Vielen Dank! Ist schon eingearbeitet.
Content aside
- Status Answered
- vor 1 JahrZuletzt aktiv
- 10Antworten
- 100Ansichten
-
4
Folge bereits