Frage

ist meine aktuelle Aufgabe, einen Bericht über eine Sammlung von ziemlich großem linearem Datensatz zu erzeugen (dh wo Wert 10 hängt von einigen Faktoren Durchschnitt von 9 8 7 6 5 4 3 usw.

Das Problem ist auch, dass diese Logik (nennen wir es gleitenden Durchschnitt jetzt) ??ist nicht festgelegt und wird höchstwahrscheinlich ändern. Ich muß nicht nur einen Bericht in HTML generieren, aber in Excel und es vielleicht eine E-Mail automatisch zu verwenden (so einige der Variablen relativ sein, dh einen Report des letzten Monats zum Beispiel)

Also meine Frage ist, soll ich verwenden, um ein Reporting-Engine oder nicht? (Jasper, Pentaho, Birt)

Meine Treiber hier sind -Der Berichtslogik wird sich ändern, aber es wird von den Entwicklern geändert werden. Es wird eine komplexe Logik sein, so wird es am einfachsten in Code in Java erfolgen. -Der Bericht hat gespeichert werden und im Excel-Format per E-Mail. -Der Meldet Aufgabe wird sehr groß sein (etwas, was in dem ETL hilfreich sein könnte) -Future Berichtsanforderungen sind keine Rolle hier, wird das System eine Rewrite gehen, wenn es generisch sein muss und streck kann.

Ich konnte nur eine Einheit schaffen Bericht genannt, speichere seine Art (eine Enumeration) und die Parameterliste (von der geruhsamen URL) und andere metardata (die erstellt, welches Datum etc, wo zu senden, und die relativen Parameter gespeichert sind) und dann, wenn ein Teil der Verarbeitung durchgeführt wurde, sollte sie in DB, nur die verarbeiteten Daten abzurufen für Controller zu konsumieren. Es vereinfacht die beteiligten Technologien (ich verwende Spring MVC und es sollte mit einer kleinen Prise POI genug sein). Aber ich frage mich, ob Reporting-Engine verwenden wäre einfacher.

War es hilfreich?

Lösung

Meine Erfahrung mit Jasper und Birt (und dem kommerziellen vor dem Wind Report) ist, dass ihnen nicht viel mit der Nummer helfen Teil des Berichts Knirschen; sie sind am besten geeignet, Daten zu präsentieren, dass Sie bereits in eine geeignete Struktur verwandelt haben. Jasper, Birt und vor dem Wind Berichte können laufende Summen und Mittelwert leicht handhaben, aber keine Berechnungen komplexer als die ein echten Schmerzen sind (und können je nach Berechnungen unmöglich sein). Ich bin nicht vertraut mit Pentaho.

In Ihrer Situation würde ich entweder implementieren die calcuations in benutzerdefinierten Java-Code oder in einem ETL-Prozess.

Sie könnten dann ein Reporting-Engine verwenden, um die Ergebnisse der Berechnungen in HTML und Excel-Format zu präsentieren. Aber wenn Sie Jasper oder Birt nicht, etc., bereits integriert in Ihre Anwendung dann würde ich nicht empfehlen eine Zugabe von nur für diese. Es wäre schneller manuell bzw. die Berichtsdaten mit JSP und POI zu schreiben. Jasper und Birt Berichte sind recht einfach zu erstellen, aber nur, wenn Sie den Reporting-Engine integriert haben richtig!

Andere Tipps

Ich habe Birt nie benutzt, aber ich habe verwendet Jasper, und mein einziger Kommentar wäre: ein Reporting-Engine hat eine Lernkurve, und fügt Overhead es selbst ist. Also, wenn Sie einige einmaligen Bericht tun, und wenn das tatsächliche Berichtslayout ziemlich einfach ist, können Sie nicht viel von einer Reporting-Engine erhalten. Aber auf der Kehrseite, IS Jasper wirklich gut darin, Dinge wie das Lassen Sie die Logik einmal schreiben, dann einfach Ihren Bericht in verschiedenen Formaten generieren (einschließlich Excel).

Wenn es eine starke Forderung, dass der erzeugte Bericht „Blick recht“, und wenn es ein wirklich komplexes Layout hat, und wenn Sie viele Formate müssen erzeugen, dann können Sie die Reporting-Engine wertvoll finden.

Wenn Sie rechtfertigen können ein paar Stunden damit verbringen, download Jasper (oder Birt oder was auch immer) und durch einige der Tutorials / Demos laufen und ein Gefühl dafür bekommen. Das wird wahrscheinlich mehr wert als Sie alle Kommentare erhalten Sie hier.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top