Das Reporting-Modul besteht aus der Pentaho Classic Reporting Engine, ehemals JFreeReport, und den Anwendungsprogrammen für die Entwicklung von Berichtsdefinitionen: Report Designer und Report Wizard. Das Open-Source-Projekt JFreeReport ist seit 2002 auf SourceForge registriert und wurde im Januar 2006 von Pentaho übernommen.
Die XML-basierten Berichtsdefinitionen enthalten die logische Beschreibung der Inputdaten sowie eine Definition des Berichtsaufbaus. Die Reporting-Engine generiert zur Ausführungszeit aus den vorhandenen Daten und den Berichtsdefinitionen die eigentlichen Berichte. Die Reporting-Engine ist Teil des BI-Servers, sie kann aber auch in andere Applikationen eingebettet werden.
In den Action Sequences wird definiert, aus welcher Quelle die Daten kommen und mit welcher Berichtsdefinition sie verschmolzen werden sollen. Die Reporting-Engine zeichnet für die Ausgabe der Berichte verantwortlich. HTML, PDF, CSV, RTF und XSL stehen dabei als Ausgabeformate zur Verfügung.
Die Pentaho Reporting Engine arbeitet mit Bereichen, Bänder (Bands) genannt, und Feldern. Felder repräsentieren die einzelnen Spalten aus den Eingabedaten. Zusätzlich können Felder mit statischem Inhalt, per Übergabeparameter oder zur Laufzeit mit Funktionen gefüllt werden.
Felder werden Bändern zugeordnet, um sie in dem Bericht anzuzeigen. Felder, die mit den Datenspalten verknüpft sind, werden im Detailband oder den Gruppenbändern platziert, um flache oder strukturierte Listen anzuzeigen. Felder mit statischen Inhalten, z.B. Berichtstitel oder Logos, werden in den anderen Bändern platziert.
Feldinhalte können auch zur Laufzeit berechnet werden. JFreeReport stellt eine ganze Reihe von Funktionen zur Verfügung, z.B. um Summen zu bilden oder die Seitenanzahl eines Berichts anzuzeigen. Zusätzlich benötigte Funktionen können per Java oder BSF (Bean Scripting Framework) implementiert und in die Reporting-Engine eingebunden werden.
Ein Bericht kann nur mit einer Datenquelle für die Detaildaten verknüpft werden, z.B. dem Ergebnis einer SQL-Abfrage. Um diese Restriktion zu umgehen, können Subreports definiert werden. Subreports sind eigenständige Berichte mit unabhängiger Datenquelle, die in einen Bericht eingebettet werden.
Subreports ermöglichen auch die Implementierung von Master- und Detailberichten. Dazu wird der Subreport im Detail- oder einem Gruppenband des Master-Berichts platziert. Der Subreport muss eine parametrisierbare Datenquelle nutzen. Bei jeder Zeile des Detail- oder Gruppenbands wird ein Wert als Parameter an den Subreport angegeben. Die Ausgabe des Subreports wird dann an der passenden Stelle in die Ausgabe des Masterberichts eingebettet.
Um Berichtsdefinitionen für das Reporting-Modul zu erstellen, stehen Entwicklern zwei Programme zur Verfügung: der Report Designer und der Report Design Wizard.
Einen Bericht erstellen mit dem Report Designer...
Während der Entwicklung mit dem Report Designer kann der Bericht jederzeit in der Vorschau angezeigt werden. Zusätzlich besteht die Möglichkeit, eine separate Ausgabe der Vorschau in den angebotenen Ausgabeformaten HTML, PDF, CSV, RTF und Excel aufzurufen.
... oder mit dem Report Design Wizard
Wenn man eine Berichtsdefinition nicht komplett per Hand zusammenstellen möchte, kann man den Report Design Wizard nutzen. Dieser funktioniert ähnlich wie WAQR, mit dem Unterschied, dass die Datenquelle frei als SQL- oder MDX-Abfrage definiert werden kann und nicht auf den Pentaho Metadaten-Layer begrenzt ist. Auch im Report Design Wizard steht eine Vorschau zur Verfügung. Wird der Wizard aus dem Designer heraus aufgerufen, dann kann die erstellte Berichtsdefinition anschließend im Designer weiter bearbeitet werden.
Um eine Berichtsdefinition in der Pentaho BI Plattform nutzen zu können, muss eine Action Sequence erstellt werden. Sowohl der Report Designer als auch der Report Design Wizard sind in der Lage, Action Sequences auf Basis der ausgesuchten Datenquelle und der Berichtsdefinition zu erstellen. Bei bestehender Verbindung kann die Action Sequence auch direkt auf dem BI-Server publiziert werden.
Auf der nächsten Seite: Analyse
Version zum Drucken | Per E-Mail versenden
Permalink: http://heise.de/-222177