Vorheriges Nächstes

Datenfilterung durch Benutzer ermöglichen 

Bei der Erstellung eines Berichts builden Sie einen Datensatz und geben normalerweise Filterbedingungen an, damit bestimmte Daten im Bericht angezeigt werden. Wenn ein Benutzer den Bericht anzeigt, werden die von Ihnen ausgewählten Informationen dargestellt. Je mehr Benutzer mit Berichten vertraut sind und ihr Potenzial als Analysetool erkennen, desto größer wird wahrscheinlich der Bedarf, Daten auf unterschiedlichen Wegen anzuzeigen. Beispielsweise kann es sein, dass ein Benutzer in einem Verkaufsbericht nur Verkäufe in einer bestimmten Region, nur Verkäufe über einen bestimmten Betrag oder nur Verkäufe der letzten 30 Tage anzeigen will.

Dieser Wunsch nach einer Ad-hoc-Berichterstellung wird dadurch erfüllt, dass der Bericht vom Benutzer Informationen anfordert, mit denen die anzuzeigenden Daten bestimmt werden. Sie können diese Lösung durch das Erstellen von Berichtsparametern bereitstellen.

Damit Benutzer Datenbankdaten filtern können, führen Sie die folgenden Tasks in der empfohlenen Reihenfolge aus. Ausführliche Informationen zu diesen Tasks enthalten die nachfolgenden entsprechenden Themen in diesem Abschnitt.

*
*
*
*
Binden Sie den Datensatzparameter an den Berichtsparameter, damit der Datensatzparameter den benutzerdefinierten Wert aus dem Berichtsparameter abruft und an die SQL-Abfrage übergibt.
*
*

Basisberichtsparameter erstellen

1  
Es wird "Neuer Parameter" wie in Abbildung 12-1 angezeigt.

Abbildung 12-1: Neuer Parameter

Abbildung 12-1  Neuer Parameter
2  
1  
Geben Sie bei "Name" einen Namen für den Parameter ein. Es hat sich bewährt, ein Präfix wie z. B. RP zu verwenden, damit Berichtsparameter leichter von anderen Parametertypen unterschieden werden können, z. B. von Datensatzparametern. Ein Berichtsparameter zur Filterung für ein Feld für Warenbestandsmenge (engl. "quantity in stock") kann beispielsweise mit "RP_quantityinstock" benannt werden. Der Wert, den Sie für den Namen angeben, wird dem Berichtsbenutzer als Systemanfrage angezeigt, falls Sie für die nächste Eigenschaft ("Anleitungstext") keinen Wert angeben. Statt nur einen Parameterwert für den Namen anzugeben, sollten Sie einen technisch beschreibenden Namen und einen benutzerfreundlichen Anleitungstext angeben.
2  
Der Datentyp, den Sie für den Berichtsparameter auswählen, gibt die Formatierungsoptionen vor, die verfügbar sind, wenn Sie die Bereitstellung eines Standardwerts oder einer Werteliste für den Berichtsparameter auswählen. Der Datentyp des Parameters muss nicht mit dem Datentyp des Feldes in der Datenquelle übereinstimmen. Werte in einem Feld "orderID" können beispielsweise in der Datenquelle als Ganzzahlen gespeichert sein, wohingegen der diesem Feld zugeordnete Berichtsparameter den Typ STRING (Zeichenfolge) haben kann.
3  
Der Parameter wird nun im Daten-Explorer unter "Berichtsparameter" angezeigt.

Parametermarke in SQL-Abfrage einfügen

Für diese Prozedur wird vorausgesetzt, dass Sie bereits einen Datensatz erstellt haben.

1  
Klicken Sie im Daten-Explorer mit der rechten Maustaste auf den Datensatz, für den Sie die Abfrage bearbeiten wollen, und wählen Sie dann die Option "Bearbeiten" aus. Im Fenster "Datensatz bearbeiten" wird daraufhin die Abfrage angezeigt.
2  
WHERE quantityinstock < ?
WHERE quantityinstock <= ? AND productvendor = ?
WHERE quantityinstock <= ? OR productline LIKE ?
Abbildung 12-2 zeigt ein Beispiel für eine Abfrage mit zwei Parametermarken.

Figure 12-2 Query with two parameter markers

Abbildung 12-2  Abfrage mit zwei Parametermarken

Nun können Sie für jede Parametermarke ? einen Datensatzparameter definieren. Diese Task ist im nächsten Abschnitt beschrieben.

Datensatzparameter definieren

Für diese Prozedur wird vorausgesetzt, dass Sie bereits eine Parametermarke in die SQL-Abfrage eingefügt haben.

1  
Doppelklicken Sie im Daten-Explorer auf dem Datensatz, für den Sie Parameter erstellen wollen. Im Fenster "Datensatz bearbeiten" wird daraufhin die Abfrage angezeigt.
2  
Wählen Sie "Parameter" aus. Im Fenster "Datensatz bearbeiten" wird daraufhin die Seite "Parameter" angezeigt. This page displays placeholder data set parameters, which BIRT Report Designer creates for each ? in der WHERE-Klausel der Abfrage bereit.
3  
4  
1  
Geben Sie bei "Name" einen Namen für den Datensatzparameter ein. Es hat sich bewährt, ein Präfix wie z. B. DSP zu verwenden, um den Datensatzparameter von anderen Parametertypen (z. B. Berichtsparametern) zu unterscheiden.
2  
3  
4  
Abbildung 12-3 zeigt ein Beispiel für eine Definition eines Datensatzparameters, in dem der Datensatzparameter "DSP_quantityinstock" mit einem Berichtsparameter "RP_quantityinstock" verlinkt ist.

Abbildung 12-3: Definition eines Datensatzparameters

Abbildung 12-3  Definition eines Datensatzparameters
5  
5  
Wiederholen Sie die Schritte 3 und 4, um weitere Datensatzparameter für alle anderen Parametermarken in der SQL-Abfrage zu definieren.
6  
7  
1  
2  
In der Anzeige "Parameter eingeben" werden alle von Ihnen erstellten Berichtsparameter angezeigt. Abbildung 12-4 zeigt die Berichtsparameter "RP_quantityinstock" und "RP_productvendor" des Beispiels. Die Parameternamen werden angezeigt, weil die Werte für den Anleitungstext nicht ordnungsgemäß bereitgestellt wurden.

Abbildung 12-4: Parameter eingeben

Abbildung 12-4  Parameter eingeben
3  

Falls Sie alle bislang in diesem Abschnitt beschriebenen Tasks ausgeführt haben, wird die WHERE-Klausel der Abfrage die angegebenen Werte enthalten und der Bericht zeigt die Zeilen an, die mit der WHERE-Klausel übereinstimmen.


(c) Copyright Actuate Corporation 2013