Jasper Reporting – Dynamische Parameter

Bernd Erk —  06.10.2009 — 1 Comment
This entry is part 1 of 15 in the series Jasper Reporting

jaspersoft reporting Jasper Reporting – Dynamische ParameterSeinen Report mit Parametern zu versehen hat mehrere Vorteile. Zum einen kann man die gleiche Vorlage für verschiedene Kunden und Objekte einsetzen, zum anderen hat der Endanwender die Möglichkeit der Interaktivität. Wer auf viele Parameter setzt sollte jedoch immer für eine hohe Quote an vordefinierten Reports sorgen, da die Hürde zur Ausführung nicht zu hoch liegen sollte.

Gerade beim Vergleich von Text in einem Statement muss der eingegebene Parameter exakt übereinstimmen, da sonst keine Daten ermittelt werden können. Bei etwas längeren Attributen wie Host- oder Servicegruppen ist dies einfach zu fehleranfällig. Hier können dynamische Parameter Abhilfe schaffen, da sie dem Benutzer quasi die Summe aller Möglichkeiten anbieten und man nur noch aus dieser Menge auswählen kann.

post11 screen1 150x150 Jasper Reporting – Dynamische ParameterDie Definition erfolgt wieder direkt auf dem JasperServer durch Anlage eines neuen “Input Controls”. Bei Eingabe des Namens bitte dringend auf die richtige Schreibweise achten, da dies im Support Fehler Nummer 1 ist, wenn der Wert nicht angenommen wird und ein Default-Wert existiert.

post11 screen2 150x150 Jasper Reporting – Dynamische ParameterBei der Eingabe der “Input Control Details” ist der Type Single Select Query zu wählen. Anschließend kann entweder eine globale Query aus dem Repository oder eine lokale (unser Beispiel) verwendet werden. In unserem Fall ist der Wert zur Anzeige auch der Wert zur Übergabe. Wenn z.B. Namen ausgewählt, aber Personalnummern übergeben werden sollen, sind mind. zwei Columns zu selektieren.

Das Statement zur Ermittlung der verfügbaren Hostgruppen lautet:

select alias from nagios_hostgroups where instance_id = 1

post11 screen5 150x150 Jasper Reporting – Dynamische Parameterpost11 screen3 150x150 Jasper Reporting – Dynamische Parameterpost11 screen4 150x150 Jasper Reporting – Dynamische ParameterAls Datasource übernehmen wir auch hier wieder die lokale Definition. Anschließend muss wie bereits angedeutet noch das Value und Visible Column hinterlegt werden und die Anlage des Parameters bestätigt werden. Nach Zuordnung des Parameters zum aktiven Report, kann dieser dann auch im Webinterface ausgewählt werden.

Der entsprechende Report findet sich natürlich auch wieder bei netways.org und unserem Demo-System.

Im nächsten Post steigen wir in das Thema Host-Availability ein.

Series NavigationJasper Reporting – Host Availability >>Jasper Reporting – Die Installation >>
14.thumbnail Jasper Reporting – Dynamische Parameter

Autor: Bernd Erk

Bernd ist einer der Geschäftsführer der NETWAYS Gruppe und verantwortet das Tagesgeschäft. Da er in einem früheren Leben mit Java und Oracle Datenbanken gearbeitet hat, kümmert er sich immer noch gerne um das Thema Reporting - sowohl bei NETWAYS, als auch im Icinga Team. In seiner knappen Freizeit streitet er sich mit seinem Sohn, wer das iPad gerade benutzen darf und widmet sich der Weiterverbreitung der gehobenen Schaschlik-Kultur.