Multiple Parameter in NextReports verwenden

NextReports Logo

Für die Neulinge bei NextReports erkläre ich die Erstellung von multiplen Parametern, die im Handbuch zum Nextreports Designer nicht beschrieben wird. -> Advantage Software Factory vertraut hier darauf, dass man sich mit der Demo-Datenbank beschäftigt, in der man sich das Thema erarbeiten kann.

Wozu multiple Parameter?

Parameter sind Werte, die vor Erstellung eines Reports vom Anwender festgelegt oder ausgewählt werden können und die Ergebnisse der Datenbankabfrage einschränken. Wie man einzelne Parameter anlegt, habe ich z.B. in -> Werte in NextReports Charts vergleichen gezeigt.

Parameter in Nextreports
Einfacher Parameter in Nextreport

Diese einfachen Parameter übergeben genau einen Wert, was durch die Auswahl Single im Drop-Down-Menü bei Selection festgelegt wird. In vielen Fällen möchte man aber mehr als ein Kriterium übergeben und kann dazu ansatt Single auch Multiple auswählen. So können (um beim Beispiel der obigen Abbildung zu bleiben) mehrere Artikel ausgewählt werden.

Multiple Parameter anlegen

Arbeitet man im Query Designer, dann wird das Vorgehen im -> Video Tutorial Parameters gut erklärt. Um im Query Editor eine Mehrfachauswahl anzulegen, gibt man ebenfalls unter Selection bei der Anlage des Parameters Multiple an.

Einen multiple parameter anlegen
Einen multiple parameter anlegen
Ich habe die Source hier verpixelt, weil der Screenshot aus einer Umgebung mit echten Daten stammt.

Hier möchte ich nach einem Flag filtern, so dass etweder ja oder nein oder ja und nein als Auswahlkriterien gewählt werden können. Bei der Column Selection wählt man in der Regel ein Wertepaar, indem man aus einer Tabelle die ID des Datensatzes als Parameterwert und einen für den Anwender aussagefähige Wert in der zweiten Spalte bestimmt. In der SQL-Abfrage wird immer die erste Spalte (also die ID) verwendet. Da ich für das Flag keine aussagefähige Beschreibung im Datensatz habe, gebe ich die Bedeutung des Flags für den Anwender im Feld Runtime name mit an (ja = 1, nein = 0).

Nur einen Wert anstelle eines Wertepaares auswählen
Nur einen Wert anstelle eines Wertepaares auswählen (Beispiel aus der Demo-Datenbank von NextReports

Eine weitere Möglichkeit ist das Definieren von Default-Werten, die dem Anwender angezeigt werden. Dieser Liste kann er dann Werte für diese Abfrage hinzufügen oder auch daraus löschen.

Default Parameter anlegen
Multiplen Parameter mit Default-Werten anlegen

Für den Beispielfall ist diese Variante eher ungeeignet, aber sie macht durchaus Sinn, wenn man z.B. nach Strings suchen möchte.

Verwenden des Parameters im Query Editor

Während ein Single parameter lediglich einen Wert übergibt, ist es beim Multiple parameter ein Array, also eine Menge von Werten. Technisch handelt es sich dabei um eine Unterabfrage, die man in MySQL so notieren würde:

SELECT ...
FROM ...
WHERE tabelle.spalte IN (
SELECT parameterwert
FROM tabelle
WHERE spalte.wert = parameterwert1
OR spalte.wert = parameterwert2
OR ...);

Der multiple Parameter ersetzt hier die Unterabfrage und man notiert im Query Editor:

SELECT ...
FROM ...
WHERE tabelle.spalte IN ${parameter}

Anstelle von IN ist natürlich auch NOT IN möglich.
Für den Anwender stellt sich die Auswahl der Parameter so dar:

Parameterauswahl für den Anwender
Parameterauswahl für den Anwender
Buy Me a Coffee at ko-fi.com

2 Comments

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.

Neuigkeiten auf Împuşcătura?

Klicken Sie -> hier und  Sie werden automatisch per E-Mail über neue Beiträge auf Împuşcătura informiert.

Natürlich ohne Werbung!