Durch die Verwendung von Parametern können Reports dynamsich gestaltet werden. Beispielhaft wird dies hier an einem Report, der Informationen zu einem Kunden ausgibt, gezeigt. Der Report wird so erstellt, das er die Kundennummer als Parameter entgegen nimmt und mit dessen Hilfe Informationen zu dem Kunden anzeigt.
Parameter in den Report einfügen
Pentaho Reports können ein oder mehrere Parameter hinzugefügt werden, für die unterschiedliche Datentypen zur Verfügung stehen. Häufig verwendet wird der Typ Number um den Primärschlüssel eines Datensatzes aus der Datenbank an den Report zu übergeben. Dieser kann dann mit dem Primärschlüssel die benötigten Informationen laden und im Report anzeigen.
Ebenso ist es möglich Parameter als Felder im Report zu verwenden in dem sie einfach per Drag and Drop auf den Report gezogen werden.
Hinzugefügt werden Parameter im Pentaho Report Designer über das Data Tab und dort im Abschnitt Parameters. Ein Rechtsklick öffnet dort ein Menü in dem die Parameter hinzugefügt und bearbeitet werden könne. Weitere Details können dem folgenden Screenshot entnommen werden:
Parameter in Queries nutzen
Wie bereits angesprochen können Parameter auch in die SQL Abfragen des Reports eingebaut werden. Dazu wird der Paramter mit der Syntax ${PARAMETER_NAME} in das SQL Query integriert. Detailliert ist dies im folgenden Screenshot zu sehen:
Parameter in Subreports
Um Parameter in Subreports zu verwenden müssen diese zunächst in den Subreport importiert werden. Dazu gibt es im Subreport bei den Parametern den Abschnitt „Import Paramter“. Hier kann festgelegt werden welche Parameter aus dem Hauptreport importiert werden sollen und wie diese in dem Subreport heißen sollen. Der Einfachheit halber empfiehlt es sich die Namen in beiden Reports gleich zu wählen.
Hat man einen Report mit vielen Parametern und möchte alle in einen Subreport übertragen kann man sich das umfangreiche Mapping sparen indem als Importparameter der Platzhalter „*“ gewählt wird. Dadurch stehen alle Parameter im Subreport unter gleichem Namen wie im Hauptreport zur Verfügung.