Problem mit Berechnung für Report

23. Februar 2009 17:07

Hallihallo,
ich habe folgendes "Problem":
Und zwar brauchen wir für einen Absatz-/Umsatzvergleich einen Bericht.
Es wird unter anderem nach Datum gefiltert, z.B. 01.01.2008..31.12.2009, und der Umsatz aller verkauften Artikel für diesen Zeitraum wird jeweils summiert ausgegeben.
Soweit kein Problem, das Feld existiert bereits. ; )
Jetzt bräuchten wir allerdings eine weitere Spalte, das von dem Datum das eingegeben wurde ausgeht und von da dann genau ein Jahr zurückrechnet.
Also am Beispiel in der zweiten Spalte den Absatz vom letzten Jahr, also von 2007 automatisch ausgibt.
Aus diesen beiden Beträgen könnte bzw. sollte dann später die Abweichung berechnet werden..
Gibt es da Möglichkeit, wie und wo ich das bestimmen kann, damit er mir das rechnet?
Vielleicht das ich dem Feld "Umsatz aktuell" irgendwie einfach nur sagen kann das es das gleiche für das Vorjahr machen soll?
Ich hoffe ich hab mich halbwegs verständlich ausgedrückt ; )
Und schon mal danke für eure Hilfe!!

Re: Problem mit Berechnung für Report

23. Februar 2009 19:44

Einen Datumsfilter für das Vorjahr für einen Datumsbereich kann man so erstellen:
Code:
FirstDay := GETRANGEMIN("Date filter");
LastDay := GETRANGEMAX("Date filter");
FirstDayLastYear := CALCDATE('<-1Y>',FirstDay);
LastDayLastYear := CALCDATE('<-1Y>',LastDay);
SETRANGE(LastYearDateFilter,FirstDayLastYear,LastDayLastYear);

Re: Problem mit Berechnung für Report

24. Februar 2009 10:43

Danke schon mal für die Hilfe!!
Und wie kann ich dann meinem Feld "Absatz Vorjahr" den Wert für den Zeitraum des neuen Filters übergeben??

Gruß!!

Re: Problem mit Berechnung für Report

25. Februar 2009 11:51

D_Gross hat geschrieben:Und wie kann ich dann meinem Feld "Absatz Vorjahr" den Wert für den Zeitraum des neuen Filters übergeben??

Bei normalen Summierungen :
Man kann eine zweite Recordvariable für die Tabelle erstellen,die der Report durchläuft. Im Feld wo der Datumsfilter greift ( meist das Buchungsdatum, manchmal auch Belegdatum) dann den Vorjahrsfilter anwenden.
Bei Werten aus Flowfields, die den Datumsfilter mit einbeziehen, werden für diese Recordvariable dann auch Vorjahreswerte ausgewiesen, wenn der Vorjahrsfilter als FlowFilter im Datumsfilter gesetzt wird.

Re: Problem mit Berechnung für Report

26. Februar 2009 14:32

Hallo Kowa,

Recordvariable erstellen, ok.

Kowa hat geschrieben:Im Feld wo der Datumsfilter greift ( meist das Buchungsdatum, manchmal auch Belegdatum) dann den Vorjahrsfilter anwenden.

Könntest du mir vielleicht noch sagen wie genau ich den Vorjahresfilter anwende?
Ich habe leider keine Ahnung wie die Syntax dafür aussehen muss..

Liebe Grüße!

Re: Problem mit Berechnung für Report

26. Februar 2009 18:41

D_Gross hat geschrieben:Könntest du mir vielleicht noch sagen wie genau ich den Vorjahresfilter anwende?
Ich habe leider keine Ahnung wie die Syntax dafür aussehen muss..

Für das Buchungsdatum aus einer Postentabelle z.B. so :
Code:
<Recordvariable>.SETRANGE("Posting Date",FirstDayLastYear,LastDayLastYear);

Dann werden meist über eine REPEAT-UNTIL Schleife die benötigten Werte summiert, bzw. mit CALCSUMS direkt ermittelt, wenn ein Schlüssel mit SumIndex zu Verfügung steht.

Für Flowfields in Stammdatentabellen z.B. so den Flowfilter setzen:
Code:
<Recordvariable>.SETRANGE("Date Filter",FirstDayLastYear,LastDayLastYear);

Danach mit CALCFIELDS für die benötigten Flowfields die Berechnung anstoßen (die müssen den "Date Filter" in der CalcFormula enthalten!)