Lies in den Artikel rein und unten bekommst Du ein unschlagbares Angebot!
Ein Dataset, das als Datenquelle eines Berichts der Reporting Services dient, ist selten statisch aufgebaut – also so, dass es immer alle Daten einer Tabelle oder Abfrage liefert oder einen bestimmten Teil. Stattdessen sollen Berichte oft Daten liefern, die sich auf einen bestimmten Zeitraum beziehen, auf einen bestimmten Kunden oder auch auf bestimmte Artikel oder Kategorien. In den bisherigen Artikeln haben wir erläutert, wie Sie Berichte auf Basis statischer Datenquellen erstellen. Der vorliegende Artikel fügt die Verwendung von Parametern mit hinzu, damit der Benutzer genau festlegen kann, welche Daten der von ihm gewählte Bericht liefern soll.
Vorbereitung für diesen Artikel
Da wir uns explizit um den Einsatz von Parametern kümmern wollen, gehen wir von einem Visual Studio-Projekt des Typs Berichtsserverprojekt namens DatasetMitParametern aus.
Diesem haben wir eine freigegebene Datenquelle namens AdventureWorks auf Basis der SQL Server-Datenbank AdventureWorksLT2019 hinzugefügt. Wo Sie diese Beispieldatenbank finden und wie Sie diese installieren, erfahren Sie im Artikel AdventureWorks: Schnelle Beispieldatenbank (www.datenbankentwickler.net/254).
Dataset anlegen
Das Dataset für diesen Bericht legen wir als eingebettetes Dataset an. Damit erhalten wir zum Beispiel den Vorteil, dass die in diesem Dataset definierten Parameter direkt vom Bericht als solche erkannt werden.
Bericht anlegen
Nun legen wir einen neuen Bericht namens SalesPerProduct.rdl an. Diesem weisen wir die zuvor angelegte freigegebene Datenquelle AdventureWorks.rds als Datenquelle zu und geben auch der neuen eingebetteten Datenquelle den Namen AdventureWorks.
Dann legen wir für den Bericht ein neues eingebettetes Dataset namens ProductsSalesOrders an (siehe Bild 1). Das Dataset verwendet einige Felder der drei Tabellen Product, SalesOrderDetail und SalesOrderHeader als Datenquelle. Damit haben wir ausreichend Daten zum Demonstrieren der Parameter-Funktionen der Reporting Services.
Bild 1: Abfrage für das Dataset ProductsSalesOrders
Der Bereich Berichtsdaten sieht anschließend wie in Bild 2 aus.
Bild 2: Daten für den Bericht
Nun blenden wir die Toolbox ein und fügen dem Bericht ein Tabelle-Element hinzu. Dann wechseln wir wieder zum Berichtsdaten-Bereich und ziehen einige Felder in die Tabelle, sodass diese wie in Bild 3 aussieht.
Bild 3: Berichtsentwurf
Ein Wechsel in die Vorschauansicht liefert eine Liste der einzelnen Bestellpositionen (siehe Bild 4). Damit haben wir alles zusammen, um die angezeigten Datensätze nach verschiedenen Kriterien mit noch zu ermittelnden Parameterwerten zu filtern.
Bild 4: Ausgabe der einzelnen Bestellpositionen
Parameter zum Dataset hinzufügen
Der erste Schritt ist das Hinzufügen des Parameters zum Dataset. Dazu öffnen wir das Dataset per Doppelklick auf seinen Eintrag im Bereich Berichtsdaten.
Im Bereich Abfrage des Dialogs Dataseteigenschaften finden wir im Feld Abfrage die SQL-Abfrage. Diese erweitern wir wie in Bild 5 um die folgende WHERE-Klausel:
Bild 5: Integrieren des Parameters im Abfrageausdruck