# IReport



## sascha0301 (30. August 2011)

Hallo zusammen,

ich habe ein Problem mit IReport. Ich habe einen Bericht erstellt, sieht ungefähr so aus:

Kundennr    Umsatz    Umsatzanteil in %
1                 1000                x %
2                   500                x %
3                 1500                x %
--------------------------------------------
                   3000

Soweit so gut nun wollte ich den Umsatzanteil in % ausrechnen: (Dort wo das x steht)
Formel:  1000* 100 / 3000
Dies funktioniert so nicht wirklich in IReport. 
Ich habe den Wert 3000 nicht im Zugriff, sondern 1500 (1000 + 500) bedeutet es werden Kundennummer 1 und 2 zusammen gerechnet. Dies verstehe ich nicht! Anschließend werden Kundennummer 2 und 3 zusammengerechent, usw. 

Kann mir jemand weiterhelfen****
Bittte


----------



## SE (30. August 2011)

Also wenn du etwas prozentuales haben willst musst du natürlich voher wissen welcher Wert 100% entspricht. Also musst du diese 3000 berechnen bevor du die erste prozentuale Angabe *1000 = 33 1/3 %* davon errechnen und ausgeben willst. Außerdem musst du auch auf Zahlen mit Nachkommastellen achten welche sich nur als unendliche Dezimalbrüche sinnvoll darstellen lassen *z.B. 1/3 oder 6 2/3*.


----------



## sascha0301 (30. August 2011)

Hallo, vielen Dank für die Antwort.
Habe ich verstanden.
Jetzt hab ich nur noch das Problem, wie ich das in IReport umsetzten kann.
Zu welchem Zeitpunkt wird die 3000 bekannt sein? Kann ich das bestimmen?


----------



## SE (30. August 2011)

Also alleine nur mit IReport geht das nicht. Du musst bevor du anfängst den Report zu erstellen außerhalb davon diesen Wert errechnen. Dazu brauchen die entsprechenden Objekte natürlich entsprechende Getter um an den Wert zu kommen und mit diesem rechnen zu können.


----------



## sascha0301 (30. August 2011)

Bedeutet im Umkehrschluss es ist zum Vorteil Java programmieren zu können um IReport zuerweitern oder auch nutzen zu können.
Standardmäßig gibt es keine Lösung? Da ich nicht in Java Programmieren kann.


----------



## SE (30. August 2011)

Nun wie gesagt : da dir IReport eine solche spezielle Aufgabe nicht ermöglicht musst du da schon im Vorfeld mit den Daten arbeiten um dann IReport mit den entsprechenden Daten zu füttern. In welcher Sprache du das machst ist eigentlich egal so lange die IReport-Engine die Roh-Daten lesen und verarbeiten kann.
Wenn das ganze natürlich in Java programmiert ist würde es sich anbieten in Java die vorab Verarbeitung der Daten zu implementieren. Da Java OOP ist braucht man da noch nicht mal irgendwie wild in den Roh-Daten rumsuchen sondern sie lediglich in eine OOP-günstige Form bringen.


----------



## sascha0301 (30. August 2011)

Ok vielen Dank, für die schnelle Hilfe


----------



## mario-a (9. August 2012)

Nun ja vielleicht bissl spät... 
Du kannst in deinem Report ja Parameter definieren. Diese kannst Du dem Report übergeben. 
Also erst die Summe Berechnen, dann den Report anschmeißen und durch diese Übergabe hast Du die Summe immer direkt verfügbar.


----------

