Hitachi Vantara Pentaho Community Forums
Results 1 to 9 of 9

Thread: jfreereport

  1. #1
    Join Date
    Aug 2007
    Posts
    6

    Post jfreereport

    Ich habe mal ein paar einfache Fragen.

    1. Kann man jfreereport auch so nutzen, dass keine Datenbankanfragen von jfreereport getätigt werden, sondern per Datenstrom und XML Dokuments (Report Layout) ein PDF erzeugen ?

    2. Kann man die XML Dokumente per Oberfläche "designen" ?

    Zu 1. welches jfreereport sollte man nutzen ? Das allerneueste oder reicht die Version 0.8.7 ?

    Danke testors

  2. #2
    Join Date
    Aug 2007
    Posts
    6

    Default Nachtrag

    Soviel ich bisher gelesen habe, gibt es nur die Möglichkeit Daten aus eine Datenbank mittels SQL Anfragen zur Report Generierung heran zu ziehen.

    Nehmen wir an, ich habe bereits eine andere Instanz die dies für mich erledigt. D.h. ich möchte nur die schon aufbereiteten Daten aus der DB als Datenstrominput für jfreereport nutzen. jfreereport soll also nicht selbst die DB abfragen. Ist dies bisher überhaupt so vorgesehen oder nicht ?

    Momentan weiss ich nicht, wie das Swing TableModel interface aufgebaut ist.
    Schau es mir später noch an!

  3. #3
    Join Date
    Dec 2005
    Posts
    531

    Default

    Hallo,

    grundsätzlich sollte das gehen, da im Rahmen der Pentaho BI-Suite im Normalfall die Datenerzeugung und die Reportausführung getrennt sind. Zur Reportgenerierung wird nur ein Resultset an JFreeReport übergeben.

    Allerdings kann ich Dir nicht sagen, wie das genau geht, wenn Du JFreeReport stand alone nutzt.

  4. #4
    Join Date
    Mar 2003
    Posts
    8,085

    Default

    Hi,

    1. Kann man jfreereport auch so nutzen, dass keine Datenbankanfragen von jfreereport getätigt werden, sondern per Datenstrom und XML Dokuments (Report Layout) ein PDF erzeugen ?
    also JFreeReport (wir nennen es nun aber Pentaho Reporting Engine Classic, damit JFree.org und Pentaho sauber getrennt sind) bis einschließlich 0.8.7 hatte keine eigenen Abfrage-Fähigkeiten. Die Daten wurden (passend sortiert) als TableModel übergeben und die Engine arbeitete damit.

    Ab 0.8.8 (eine Bug-Farm, nicht nutzen, besser 0.8.9, das ist das nächste stabile Release (in ein paar Wochen)) haben wir SubReports eingeführt. Für Subreports braucht die Engine zwingend eine Möglichkeit, die Daten selbst abzufragen sowie diese Abfrage auch zu parametrisieren. Die Engine fragt die Daten über die jeweilige DataFactory ab. Das DataFactory Interface ist ein einfaches interface, das Parameter und den QueryString entgegen nimmt und ein fertiges TableModel zurückliefert.

    Wir liefern 4 Implementationen mit:

    * SQL - Feuert eine SQL-Abfrage an die Datenbank und wrapt das ResultSet in ein TableModel.
    * HQL - Feuert eine HQL Abfrage an ein konfiguriertes Hibernate.
    * Beans - Nutzt Java-Reflection um statische oder nicht-statische Methoden aufzurufen. Erwartet, das die instanziierte Klasse entweder ein TableModel ist oder die angegebene Methode ein TableModel zurückliefert.
    * Tables - Nicht parametrisierte Datenquelle, die ein einfaches Mapping zwischen query-namen und vorkonfigurierten TableModels liefert. Das ist quasi identisch mit dem Verhalten von 0.8.7.

    Bis auf eine einziges Demo, laufen alle unsere Demos ohne Datenbank.

    Momentan weiss ich nicht, wie das Swing TableModel interface aufgebaut ist.
    Schau es mir später noch an!
    Wir haben das TableModel interface gewählt, weil es einfach zu implementieren ist und bei jedem Java-Buch behandelt wird. (zB im immer wieder empfehlenswerten Java ist auch eine Insel.)

    2. Kann man die XML Dokumente per Oberfläche "designen" ?
    Ja, der Pentaho Report-Designer macht das.

    Vieleicht noch ein Wort zu unserer Design-Philosophie: Pentaho Reporting Classic ist eine waschechte embedded Engine - wir machen so gut wie keine Annahmen über die Programme, in denen sie läuft. Die Abhängigkeiten sind minimal, mit etwa 8MB für die vollständige Engine sind wir auch (gemessen an den anderen Report-Engines) genügsam im Platz (und je nach dem welche Features nicht gebraucht werden, kann man das ganze auf bis zu 3,5-4MB kürzen). Die UI ist weitgehend anpassbar - also wenn die Dialoge unpassend hässlich sind, ist es kein Problem diese mit ein paar Anpassungen an der Konfiguration auszutauschen. However, wenn sie unerträglich hässlich sind, wäre es keine schlechte Idee uns das zu sagen. Als Programmierer sind wir vom Schicksal verdammt, fast nur hässliche Benutzeroberflächen zu erzeugen.


    Und nun die entscheidene Frage: Welche Version? Das ist einfach: Die neueste (das ist 0.8.9-pre9, die Pentaho-interne Download-Seite ist wieder mal nicht mehr aktuell).
    http://sourceforge.net/projects/jfreereport

    Have fun,
    said Thomas
    Get the latest news and tips and tricks for Pentaho Reporting at the Pentaho Reporting Blog.

  5. #5
    Join Date
    Aug 2007
    Posts
    6

    Default Danke

    fürs erste mal genügend, aber trotzalledem muss ich noch eine Frage stellen.

    Kann man Pentaho Classic - dem Generator - Daten per Parameter übergeben oder nicht ? Quasi wie bei einem shell command:

    ls -la

    Würde mich freuen wenn es das könnte, denn dann käme es bei dem Projekt woran ich grad sitz, auch zum Einsatz.

    Würde bedeuten, der Report Designer und Report Generator würden zum einsatz kommen. Schön wäre natürlich, beide standalone zu haben, da sich der Designer nur ums Aussehen kümmert und der Generator nur um das PDF.


    Markus
    Last edited by testors; 08-24-2007 at 06:30 AM.

  6. #6
    Join Date
    Mar 2003
    Posts
    8,085

    Default

    Die Engine ist kein Standalone tool. Sie ist eine reine Library, und liefert auch keine CLI Umgebung mit. Es ist jedoch jederzeit möglich, Parameter zu übergeben, die dann als zusätzliche Felder in der Datenquelle auftauchen. Diese Parameter können auch verwendet werden, um die erste Abfrage zu parametrisieren.

    Code:
    JFreeReport report; // created elsewhere
    report.setReportProperty ("Your-parameter-name", (Object) yourParameterValue);
    Have fun,
    said Thomas
    Get the latest news and tips and tricks for Pentaho Reporting at the Pentaho Reporting Blog.

  7. #7
    Join Date
    Aug 2007
    Posts
    6

    Cool das heisst

    es kann eine beinahe Dynamisierung im Bezug der Objekte stattfinden, die hinterher auf dem Report zu sehen sind, aber nicht die eigentlich Daten.

    Bsp:
    1> So glaub ich funktioniert es beim Report bei euch bislang (grom umrissen), wie Du es oben beschrieben hast (so hab ich es verstanden, und falls falsch, dann bitte so einfach wie möglich erläutern - abstraktes Denken in Worte fassen ist nicht leicht verständlich für den Verstehenden )

    Container<-(SQL->DB)
    Objects->Container
    LayoutXML->Container->Output[Format:PDF]


    2> Würde mir das so vorschweben (ebenfalls grob dargestellt)
    ohne Datenbankabfrage

    Streaminput->Container
    LayoutXML->Container->Output[Format:PDF]

    Container ist quasi der Reportgenerator mit allem was intern passiert.

    Ist 2> möglich oder nicht ?

  8. #8
    Join Date
    Mar 2003
    Posts
    8,085

    Default

    Also SQL oder Datenbanken sind und waren niemals Zwang. Die Engine akzeptiert alles an Daten was ihr über eine geeignete DataFactory implementation übergeben wird. Also: Implementiert den Code der den Datenstrom liest, schiebt alles in ein TableModel und gebt dass der Engine (über eine geeignete Implementierung) zu kauen. Dann läuft es auch mit Nicht-SQL Daten.

    Aber: Die Engine iteriert mehrmals über die Daten - eine reine Single-Pass Verarbeitung geht nicht, da die Engine eventuell Werte berechnen soll (sowas wie prozente über die Summe einer Gruppe) oder Seitenumbrüche berechnen muss. Die Engine wird mindestens 3 Mal über die Daten wandern (Compute Values, Paginate/Compute Layout, Content-Generation).
    Get the latest news and tips and tricks for Pentaho Reporting at the Pentaho Reporting Blog.

  9. #9
    Join Date
    Aug 2007
    Posts
    6

    Default Danke

    Was brauch ich alles um den Report Generator und den Layout Designer auf einem System benutzen zu können ?

    Ohne das komplette System von Pentaho zu benutzen ?

    - Tomcat
    - report libary

    was vom Designer Wizard ?
    Last edited by testors; 08-27-2007 at 02:20 AM.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Privacy Policy | Legal Notices | Safe Harbor Privacy Policy

Copyright © 2005 - 2017 Pentaho Corporation. All Rights Reserved.