Report GroupFooter Berechnungen

10. Dezember 2010 16:53

Hallo,

ich sitze an einem Report, der über eine Tabelle mit Daten pro Monatläuft. Im GroupFooter sollen die aufsummierten Beträge des Jahres ausgewiesen werden und Prozentanteile errechnet werden.

Im Body habe ich die Prozente in OnAfterGetRecord errechnet und in eine globale Variable geschrieben.
Code:
glbProz := (TabelleMonatsdaten.Betrag1 * 100) / TabelleMonatsdaten.Betrag2;


Für den GroupFooter habe ich die Betragsfelder im OnPreDataItem per CREATETOTALS aufsummiert. Das funktioniert.
Mache ich das auch mit den globalen Variablen, dann wird aus 3 Bodys mit 100% im GroupFooter 300%. (naja, ist logisch)

Wo und wie kann ich für den GroupFooter die Berechnung ansteuern? Kann man mit den Summen von CREATETOTALS irgendwo arbeiten?

Schon mal vielen Dank
Apfl

Re: Report GroupFooter Berechnungen

14. Dezember 2010 13:45

ich hoffe mal ich hab dich richtig verstanden.

du hast bei deinem dataitem bei den properties das property GroupTotalFields.

Wenn du da dein Feld reinpackst und das Feld dann im GroupFooter andruckst, sollte er die Summe für die Gruppe automatisch berechnen und korrekt andrucken.

Re: Report GroupFooter Berechnungen

14. Dezember 2010 15:30

Hallo,

jetzt nach ein paar Tagen finde ich ja auch, dass ich zu wenig Infos gegeben habe. War aber so tief drin…
Normale Betragsfelder werden ohne Probleme aufaddiert. Mein Problem ist die Prozentzahl in den GroupFooter zu bekommen. Wahrscheinlich müsste ich eher einen Footer nutzen, aber dann funktioniert es auch nicht.

Also, ich habe eine Tabelle in der es zu mehreren Monaten Einträge gibt. Beispiel:

Januar, Anzahl LS 10, Betrag LS 500,00, Anzahl SZ 5, Betrag SZ 200,00
Februar, Anzahl LS 15, Betrag LS 500,00, Anzahl SZ 2, Betrag SZ 100,00

Anzahl und Betrag sind alles FlowFields aus anderen Tabellen, daher habe ich sie auf dem DataItem in CalcFields eingetragen.

Ausgewiesen werden sollen im Report: die Anzahlen und Beträge, die Gesamtanzahl und der Prozentanteil LS von der Gesamtanzahl. Einmal pro Monat und darunter einmal für das aufgelaufene Jahr.

Im OnAfterGetRecord errechne ich die Gesamtanzahlung und den Prozentanteil. Beides speichere ich in globalen Variablen.

Im OnPreDataItem habe ich für jedes Feld und die Variablen
CurrReport.CREATETOTALS(nnn);
eingetragen.

Baue ich die Felder und die Variablen in Body und GroupFooter ein, dann wird die Prozentzahl der einzelnen Monate addiert.

Ich hoffe, ich konnte es verständlicher formulieren.
Gruß
Apfl

Re: Report GroupFooter Berechnungen

21. Dezember 2010 16:45

Hallo,

nach langem Hin- und Her-Probieren, habe ich nun die Werte im OnPreSection des GroupFooters nochmal errechnet.

Wenn jemand eine andere Lösung hat, wäre ich für eine Info dankbar. Ich hatte mal gelesen, dass man auf Sections nicht programmieren sollte.

Gruß, Apfl