Tutorial: Hinzufügen von Parametern zu Ihrem Bericht (Berichts-Generator)
Sie können mit Report Builder in SQL Server Reporting Services (SSRS) Parameter zu paginierten Berichten der Reporting Services hinzufügen, damit Berichtsleser Daten nach bestimmten Werten filtern können. Berichtsparameter werden automatisch für jeden Abfrageparameter erstellt, den Sie in eine Datasetabfrage einschließen. Der Parameterdatentyp bestimmt, wie der Parameter auf der Symbolleiste der Berichtsansicht angezeigt wird.
Die folgende Abbildung zeigt einen paginierten Bericht mit nach ausgewählten Parametern gefilterten Daten:
In diesem Tutorial:
- Erstellen eines paginierten Berichts mit einer eingebetteten Datenquelle und Abfrage
- Verwenden von Abfrageparametern zum Erstellen von Berichtsparametern und Konfigurieren von Eigenschaften
- Arbeiten mit Datasets zum Steuern der sichtbaren Daten für Berichtsparameter
- Definieren von Standardwerten und benutzerdefinierten Werten für Parameter
Die geschätzte Zeit zum Bearbeiten dieses Tutorials ist 25 Minuten.
Hinweis
Die folgenden Verfahren enthalten kurze Anweisungen zum Arbeiten mit Berichts-Generator. In einigen Fällen werden mehrere Assistentenaktionen in einem einzigen Schritt konsolidiert. Ausführliche schrittweise Anleitungen mit Screenshots finden Sie im Lernprogramm: Erstellen eines einfachen Tabellenberichts (Berichts-Generator). In diesem Artikel wird beschrieben, wie Sie zu einem Berichtsserver navigieren, eine Datenquelle auswählen, ein Dataset erstellen und vieles mehr.
Voraussetzungen
Weitere Informationen zu den Anforderungen finden Sie unter Voraussetzungen für Tutorials (Berichts-Generator).
Erstellen eines Berichts mithilfe des Tabellen- oder Matrixassistenten
Führen Sie die folgenden Schritte aus, um einen paginierten Bericht (Matrix) mithilfe des Tabellen- oder Matrix-Assistenten zu erstellen:
Starten Sie den Berichts-Generator von Ihrem Computer, über das Reporting Services-Webportal oder über den integrierten SharePoint-Modus.
Der Dialog Neuer Bericht oder neues Dataset wird geöffnet. Wenn das Dialogfeld nicht geöffnet wird, wählen Sie Datei>Neu aus.
Wählen Sie die Registerkarte Neuer Bericht und dann im rechten Bereich den Tabellen- oder Matrix-Assistenten aus.
Wählen Sie auf der Seite Dataset auswählen die Option Dataset erstellen und anschließend Weiter.
Wählen Sie auf der Seite Verbindung mit einer Datenquelle auswählen eine Datenquelle. Sie können eine Datenquelle aus der Dropdown-Liste auswählen oder zum Berichtsserver wechseln und eine Quelle auswählen. Die Datenquelle muss vom Typ SQL Server sein.
Wählen Sie auf der Registerkarte Allgemein die Option Verbindung testen, um zu überprüfen, ob Sie eine Verbindung zur Datenquelle herstellen können.
Es sollte eine Popupmeldung angezeigt werden: „Die Verbindung wurde erfolgreich erstellt.“ Wählen Sie OK aus, um die Popupnachricht zu löschen.
Wählen Sie OK und dann Weiter, um die Einrichtung der Datenquelle abzuschließen.
Wählen Sie auf der Seite Abfrage entwerfenAls Text bearbeiten aus.
Fügen Sie im Dialogfeld Abfrage-Designer die folgende Transact-SQL-Abfrage in das obere Feld ein:
;WITH CTE (StoreID, Subcategory, Quantity) AS ( SELECT 200 AS StoreID, 'Digital SLR Cameras' AS Subcategory, 2002 AS Quantity UNION SELECT 200 AS StoreID, 'Camcorders' AS Subcategory, 1954 AS Quantity UNION SELECT 200 AS StoreID, 'Accessories' AS Subcategory, 1895 AS Quantity UNION SELECT 199 AS StoreID, 'Digital Cameras' AS Subcategory, 1849 AS Quantity UNION SELECT 306 AS StoreID, 'Digital SLR Cameras' AS Subcategory, 1579 AS Quantity UNION SELECT 306 AS StoreID, 'Camcorders' AS Subcategory, 1561 AS Quantity UNION SELECT 306 AS StoreID, 'Digital Cameras' AS Subcategory, 1553 AS Quantity UNION SELECT 306 AS StoreID, 'Accessories' AS Subcategory, 1534 AS Quantity UNION SELECT 307 AS StoreID, 'Accessories' AS Subcategory, 1755 AS Quantity UNION SELECT 307 AS StoreID, 'Camcorders' AS Subcategory, 1631 AS Quantity UNION SELECT 307 AS StoreID, 'Digital SLR Cameras' AS Subcategory, 1772 AS Quantity) SELECT StoreID, Subcategory, Quantity FROM CTE
Diese Abfrage kombiniert die Ergebnisse mehrerer Transact-SQL SELECT-Anweisungen innerhalb eines allgemeinen Tabellenausdrucks. Der Ausdruck gibt Werte basierend auf vereinfachten Verkaufsdaten für Kameras aus der Contoso-Beispieldatenbank an. Die Unterkategorien sind Digitalkameras, digitale Spiegelreflexkameras (DSLR), Camcorder und Zubehör.
Klicken Sie auf der Symbolleiste des Abfrage-Designers auf Ausführen (!).
Die Abfrage wird ausgeführt, und das Resultset für die Felder "StoreID", "Subcategory" und "Quantity" wird angezeigt.
Das Resultset enthält 11 Datenzeilen, in denen die Menge verkaufter Artikel in jeder Unterkategorie für vier Geschäfte angezeigt wird. Der Shop-Name ist nicht Teil des Resultsets. An späterer Stelle dieses Lernprogramms suchen Sie in einem separaten Dataset nach dem Namen des Geschäfts, das der Geschäfts-ID entspricht.
Diese Abfrage enthält keine Abfrageparameter. Später in diesem Tutorial fügen Sie Abfrageparameter hinzu.
Um mit dem Assistenten fortzufahren, wählen Sie Weiter.
Formatieren des Berichtslayouts und Hinzufügen von Summen
Der Assistent bietet einen ersten Entwurf zum Anzeigen der Daten im Bericht. In der folgenden Prozedur organisieren Sie die Werte der verkauften Menge in Zeilen, die nach Unterkategorie gruppiert sind, mit einer Spalte für jede StoreID. Im Vorschaufenster können Sie das Ergebnis der Datengruppierung visualisieren, bevor Sie den Berichtsentwurf abschließen.
Organisieren Sie Tabellendaten in Gruppen auf der Seite Felder anordnen:
Ziehen Sie im Feld Verfügbare Felder das Feld Unterkategorie in das Feld Zeilengruppen.
Ziehen Sie das Feld StoreID in das Feld Spaltengruppen.
Ziehen Sie das Feld Menge in das Feld Werte.
Die Sum-Funktion aggregiert automatisch die Mengendaten, was das Standardaggregat für numerische Felder ist. Der Wert ist
[Sum(Quantity)]
.Um mit dem Assistenten fortzufahren, wählen Sie Weiter.
Vergewissern Sie sich auf der Seite Layout auswählen, dass unter Optionen die Option Teil- und Gesamtergebnisse anzeigen ausgewählt ist.
Wenn Sie den Bericht ausführen, zeigt die letzte Spalte die Gesamtmenge der einzelnen Unterkategorien für alle Stores (StoreID) an. In der letzten Zeile wird die Gesamtmenge für alle Unterkategorien für jeden Store (StoreID) angezeigt.
Klicken Sie auf Weiter, um die Tabelle im Vorschaufenster zu überprüfen. Beim Ausführen des Berichts sollten drei Zeilen angezeigt werden, die das Tabellenlayout veranschaulichen:
Die erste Zeile wird einmal wiederholt, damit Spaltenüberschriften in der Tabelle angezeigt werden.
Die zweite Zeile wiederholt sich einmal für jede StoreID, um die Anzahl der verkauften Artikel und die Menge für jede Unterkategorie anzuzeigen.
Die dritte Zeile wiederholt einmal, um die Gesamtmenge der verkauften Artikel und die Gesamtmenge nach Unterkategorie für alle Filialen anzuzeigen.
Wählen Sie Fertig stellenaus.
Berichts-Generator fügt die Matrix der Designoberfläche hinzu. Die Tabelle enthält drei Zeilen und drei Spalten: Unterkategorie, [StoreID] und Summe.
Vergrößern Sie die Tabellenbreite, sodass die Unterkategoriedaten in einer einzelnen Zeile im Bericht angezeigt werden können:
Wählen Sie auf der Designoberfläche in Ihrer Matrix, um die Zeilen- und Spalten-Handles anzuzeigen. Die Handles werden als graue Balken entlang der Ränder der Tabelle angezeigt.
Zeigen Sie auf die Zeile zwischen den Spalten Unterkategorie und StoredID, um den Doppelpfeil-Cursor anzuzeigen.
Markieren Sie die Zeile und ziehen Sie sie, um die Breite der Spalte Unterkategorie zu vergrößern:
Klicken Sie auf der Registerkarte Start auf Ausführen, um eine Vorschau Ihres Berichts anzuzeigen.
Der Bericht wird auf dem Berichtsserver ausgeführt und zeigt den Zeitpunkt der Berichtsbearbeitung an:
Im aktuellen Matrixentwurf zeigen die Spaltenüberschriften den Speicherbezeichner, aber nicht den Store-Namen an. Später fügen Sie einen Ausdruck hinzu, um in einem Dataset, das Geschäfts-ID/Geschäftsname-Paare enthält, nach dem Geschäftsnamen suchen.
Erstellen von Abfrageparametern, Berichtsparametern und Konfigurieren von Eigenschaften
Im Abfrage-Designer können Sie Ihre Abfrage bearbeiten und Parameter hinzufügen. Wenn Sie einen Abfrageparameter hinzufügen, erstellt Berichts-Generator dem Bericht automatisch einen einzelwertigen Parameter. Jeder Parameter verfügt über mehrere Eigenschaften mit Standardwerten, z. B. Name, Eingabeaufforderung und Datentyp. Sie können diese Eigenschaften entsprechend Ihren Berichtsanforderungen konfigurieren.
Abfrageparameter hinzufügen und Berichtsparameter erstellen
Wenn Sie einer Abfrage einen Abfrageparameter hinzufügen, erstellt der Berichts-Generator automatisch einen eindeutigen Berichtsparameter mit Standardeigenschaften für Name, Eingabe und Datentyp.
Führen Sie die folgenden Schritte aus, um einen Abfrageparameter hinzuzufügen:
Wählen Sie auf der Registerkarte Ausführen die Option Entwurf, um zur Designansicht zurückzukehren.
Erweitern Sie im Bereich Berichtsdaten den Ordner Datasets. Klicken Sie mit der rechten Maustaste auf DataSet1 und wählen Sie dann Abfrage.
Der Abfrage-Designer wird geöffnet. Die vorhandene Abfrage ist im oberen Feld im Dialogfeld sichtbar.
Verwenden Sie die Trennlinie zwischen den beiden Feldern im Dialogfeld, und erhöhen Sie die Größe des oberen Felds.
Scrollen Sie nach unten im oberen Feld, damit die letzte Zeile der Abfrage sichtbar ist.
Wählen Sie Eingeben aus, um am Ende der Abfrage eine neue Zeile hinzuzufügen.
Fügen Sie die folgende Transact-SQL-
WHERE
-Klausel als letzte Zeile in die Abfrage ein:WHERE StoreID = (@StoreID)
Das Dialogfeld
WHERE
-Klausel beschränkt die abgerufenen Daten auf die Geschäfts-ID, die vom Abfrageparameter\@StoreID
.Klicken Sie auf der Symbolleiste des Abfrage-Designers auf Ausführen (!).
Der Dialog Abfrageparameter definieren wird geöffnet, und Sie werden aufgefordert, einen Wert für den Abfrageparameter
\@StoreID
.Tipp
Wenn die vollständigen Tabellenzellen und Spaltenüberschriften nicht angezeigt werden, erhöhen Sie die Größe des Dialogfelds.
Geben Sie im Feld Parameterwert 200 ein, und wählen Sie dann OK aus:
Im Resultset werden die verkauften Mengen für Zubehör, Camcorder und digitale SLR-Kameras für die Geschäfts-ID 200angezeigt.
Klicken Sie auf OK, um den Abfrage-Designer zu schließen.
Erweitern Sie im Bereich Berichtsdaten den Knoten Parameter:
Der Knoten enthält jetzt einen Berichtsparameter namens StoreID. Wenn Sie den Parameter auswählen, werden die Eigenschaften für den Parameter im Bereich Parameter auf der Entwurfsoberfläche angezeigt. Sie können diesen Bereich verwenden, um das Layout der Berichtsparameter zu formatieren.
Tipp
Wenn der Bereich Parameter nicht angezeigt wird, wählen Sie Ansicht und dann das Kontrollkästchen Parameter aus.
Aktualisieren von Eigenschaften für Berichtsparameter
Nachdem Sie Berichtsparameter erstellt haben, können Sie die Eigenschaftswerte für Parameter anpassen. Im Lernprogrammbeispiel weist der StoreID-Berichtsparameter den Standarddatentyp Text auf. Da es sich bei der Geschäfts-ID um eine ganze Zahl handelt, können Sie den Datentyp in Integer ändern.
Ändern Sie den Datentyp für einen Berichtsparameter, indem Sie die folgenden Schritte ausführen:
Klicken Sie im Berichtsdatenbereich im Ordner Parameter mit der rechten Maustaste auf den StoreID-Parameter und klicken Sie anschließend auf Parametereigenschaften.
Konfigurieren Sie im Dialogfeld Eigenschaften des Berichtsparameters die folgenden Eigenschaften auf der Registerkarte Allgemein:
Eingabeaufforderung: Geben Sie den Store-Bezeichner? ein. Dieses Prompt wird auf der Berichts-Viewer-Symbolleiste angezeigt, wenn Sie den Bericht ausführen.
Datentyp: Wählen Sie in der Dropdownliste die Option Ganze Zahl aus. Mit dieser Einstellung wird der Datentyp für die an der Eingabeaufforderung zulässige Eingabe konfiguriert.
Sie können die anderen Eigenschaften und Optionen unverändert lassen.
Wählen Sie OK, um Ihre Änderungen zu übernehmen.
Klicken Sie auf Ausführen, um eine Vorschau des Berichts anzuzeigen. Der Berichts-Viewer zeigt jetzt die Eingabeaufforderung Geschäfts-ID? als Wert für den StoreID-Parameter an.
Geben Sie auf der Symbolleiste Report Viewer an dem Prompt Store-ID? 200 ein, und wählen Sie dann Bericht anzeigen aus:
Verwenden von Datasets zum Bereitstellen von Werten
Sie können sicherstellen, dass Ihre Berichtsleser nur gültige Werte für einen Parameter eingeben, indem Sie ihnen eine Dropdown-Liste mit möglichen Werten anzeigen. Die Werte können aus einem Dataset oder einer von Ihnen angegebenen Liste stammen. Verfügbare Werte müssen aus einem Dataset stammen, dessen Abfrage keinen Verweis auf den Parameter enthält.
Dataset für gültige Parameterwerte erstellen
Führen Sie die folgenden Schritte aus, um ein Dataset zu erstellen, das gültige Werte für einen Parameter auflistet:
Wählen Sie auf der Registerkarte Ausführen die Option Entwurf, um zur Designansicht zurückzukehren.
Klicken Sie im Berichtsdatenbereich mit der rechten Maustaste auf den Ordner Datasets und anschließend auf Dataset hinzufügen.
Konfigurieren Sie im Dialog Dataseteigenschaften die folgenden Eigenschaften und Optionen:
Geben Sie für die Eigenschaft Name die Zeichenfolge Stores ein.
Wählen Sie die Option Ein in meinen Bericht eingebettetes Dataset verwenden aus.
Erweitern Sie die Dropdownliste Datenquelle und wählen Sie die zuvor in diesem Lernprogramm angegebene Datenquelle aus.
Überprüfen Sie für die Abfragetypeigenschaft, ob die Option Text ausgewählt ist.
Geben Sie im Abfragefeld folgende Abfrage ein:
SELECT 200 AS StoreID, 'Contoso Catalog Store' as StoreName UNION SELECT 199 AS StoreID, 'Contoso North America Online Store' as StoreName UNION SELECT 307 AS StoreID, 'Contoso Asia Online Store' as StoreName UNION SELECT 306 AS StoreID, 'Contoso Europe Online Store' as StoreName
Wählen Sie OK, um Ihre Änderungen zu übernehmen.
Der Bereich Berichtsdaten fügt das Dataset Stores unter dem Knoten Datasets mit den Eigenschaften StoreID und StoreName hinzu.
Liste der verfügbaren Werte angeben
Nachdem Sie über ein Dataset mit verfügbaren Werten verfügen, können Sie die Berichtseigenschaften aktualisieren, um das Dataset und die Eigenschaft zu identifizieren, um die Liste der verfügbaren Werte auf der Symbolleiste Berichtsanzeige aufzufüllen.
Stellen Sie verfügbare Werte für einen Parameter aus einem Datensatz bereit, indem Sie die folgenden Schritte ausführen:
Klicken Sie im Berichtsdatenbereich im Ordner Parameter mit der rechten Maustaste auf den StoreID-Parameter und klicken Sie anschließend auf Parametereigenschaften.
Konfigurieren Sie im Dialogfeld Eigenschaften des Berichtsparameters die folgenden Eigenschaften auf der Registerkarte Verfügbare Werte:
Klicken Sie auf die Option Werte aus Abfrage abrufen.
Wählen Sie für die Eigenschaft Dataset die Option Stores aus der Dropdown-Liste.
Wählen Sie für die Eigenschaft des Feldes Wert die Option StoreID aus der Dropdownliste.
Wählen Sie für die Eigenschaft des Feldes Bezeichnung die Option StoreName aus der Dropdownliste. Das Bezeichnungsfeld gibt den Anzeigenamen für den Wert an.
Wechseln Sie zur Registerkarte Allgemein und ändern Sie das Prompt in Store-Name:.
Wählen Sie OK, um Ihre Änderungen zu übernehmen.
Berichtsleser wählen jetzt anstelle von Store-IDs aus einer Liste von Store-Namen aus. Der Parameter-Datentyp bleibt ein Integer, da der Parameter nicht auf dem Store-Namen, sondern der Store-ID basiert.
Klicken Sie auf Ausführen, um eine Vorschau des Berichts anzuzeigen. Der Berichts-Viewer zeigt jetzt die Eingabeaufforderung Geschäfts-Name: als Wert für den StoreID-Parameter an.
Auf der Symbolleiste Report Viewer zeigt die Eingabeaufforderung jetzt eine Dropdownliste mit dem Anfangswert Wert auswählen an:
Wählen Sie in der Dropdownliste Contoso Katalog-Store und klicken Sie anschließend auf Bericht anzeigen.
Der Bericht zeigt die verkaufte Menge für Zubehör, Camcorder und digitale Spiegelreflexkameras für den Anzeigenamen Contoso Catalog Store an, der der Filialkennung 200 entspricht.
Nachschlagen von Namen-Wert-Paaren in Datasets
Ein Datensatz kann sowohl den Parameter Bezeichner als auch den entsprechenden Namensparameter enthalten. Wenn Sie nur über einen Bezeichnerwert verfügen, können Sie den entsprechenden Namen in einem Dataset nachschlagen. Für diesen Ansatz benötigen Sie ein Dataset, das Sie erstellt haben, das Name-Wert-Paare enthält.
Führen Sie die folgenden Schritte aus, um einen Wert für einen Namen aus einem Dataset nachzuschlagen:
Wählen Sie auf der Registerkarte Ausführen die Option Entwurf, um zur Designansicht zurückzukehren.
Klicken Sie auf der Designoberfläche in der Spaltenkopfzeile der Matrix mit der rechten Maustaste auf den Parameter
[StoreID]
und dann auf Ausdruck.Geben Sie im Dialogfeld Ausdruck die folgenden Eigenschaften an:
Löschen Sie im Set-Ausdruck für: Wertfeld oben den gesamten Text.
Erweitern Sie im Feld Kategorie den Knoten Allgemeine Funktionen und klicken Sie auf Sonstiges. Das Feld Element wird aktualisiert, um eine Reihe von Funktionen anzuzeigen.
Doppelklicken Sie im Feld Element auf Lookup. Das obere Feld wird aktualisiert, um den Ausdruck
=Lookup(
anzuzeigen. Das Feld Beispiel zeigt ein Beispiel für dieLookup
-Funktionssyntax.Fügen Sie in das obere Feld den folgenden Ausdruck ein:
=Lookup(Fields!StoreID.Value,Fields!StoreID.Value,Fields!StoreName.Value,"Stores")
Die
Lookup
-Funktion empfängt den Wert für StoreID, sucht im Dataset Stores danach und gibt den StoreName-Parameter zurück.
Wählen Sie OK, um Ihre Änderungen zu übernehmen.
Die Spaltenüberschrift ändert sich in einen komplexen Ausdruck, <<Ausdruck>>.
Klicken Sie auf Ausführen, um eine Vorschau des Berichts anzuzeigen.
In der Berichtsvorschau zeigt die Spaltenüberschrift oben in jeder Spalte jetzt den Store-Namen anstelle der Store-Kennung an.
Konfigurieren von Standard- und benutzerdefinierten Werten
Sie können Standardwerte für Berichtsparameter konfigurieren, sodass der Bericht automatisch ausgeführt wird, ohne den Leser zur Eingabe aufzufordern. Der Standardwert für einen Parameter kann aus einer vorhandenen Liste von Werten ausgewählt werden, oder Sie können einen benutzerdefinierten Wert angeben.
Geben Sie einen Standardwert aus einem Dataset an
Führen Sie die folgenden Schritte aus, um Standardwerte mithilfe eines Datasets zu konfigurieren:
Wählen Sie auf der Registerkarte Ausführen die Option Entwurf, um zur Designansicht zurückzukehren.
Klicken Sie im Berichtsdatenbereich im Ordner Parameter mit der rechten Maustaste auf den StoreID-Parameter und klicken Sie anschließend auf Parametereigenschaften.
Konfigurieren Sie im Dialogfeld Eigenschaften des Berichtsparameters die folgenden Eigenschaften auf der Registerkarte Standardwerte:
Klicken Sie auf die Option Werte aus Abfrage abrufen.
Wählen Sie für die Eigenschaft Dataset die Option Stores aus der Dropdown-Liste.
Wählen Sie für die Eigenschaft des Feldes Wert die Option StoreID aus der Dropdownliste.
Wählen Sie OK, um Ihre Änderungen zu übernehmen.
Klicken Sie auf Ausführen, um eine Vorschau des Berichts anzuzeigen.
Der Bericht zeigt jetzt standardmäßig den Eingabeaufforderungswert Contoso North America Online Store an, da dies der erste Wert in der Ergebnismenge für das Datenset Stores ist. Der Bericht zeigt die verkaufte Menge für Digitalkameras für den Store-Bezeichner 199 an, der dem Store-Namen Contoso North America Online Store entspricht.
Bereitstellen eines benutzerdefinierten Standardwerts
Sie können auch einen benutzerdefinierten Wert bereitstellen, der als Standardwert für den Parameter verwendet werden soll:
Wählen Sie auf der Registerkarte Ausführen die Option Entwurf, um zur Designansicht zurückzukehren.
Klicken Sie im Berichtsdatenbereich im Ordner Parameter mit der rechten Maustaste auf den StoreID-Parameter und klicken Sie anschließend auf Parametereigenschaften.
Konfigurieren Sie im Dialogfeld Eigenschaften des Berichtsparameters die folgenden Eigenschaften auf der Registerkarte Standardwerte:
Wählen Sie die Option Werte angeben und dann Hinzufügen aus. Dem Feld Wert wird eine neue Wertezeile hinzugefügt. Der Standardwert in der Dropdownliste lautet (Null).
Geben Sie im Dropdownfeld 200 ein.
Wählen Sie OK, um Ihre Änderungen zu übernehmen.
Klicken Sie auf Ausführen, um eine Vorschau des Berichts anzuzeigen.
Der Bericht zeigt jetzt den Eingabeaufforderungswert Contoso Catalog Store an, da dies der Anzeigename für den Speicherbezeichner 200 ist. Im Bericht werden die verkauften Mengen für Zubehör, Camcorder und digitale SLR-Kameras für die Geschäfts-ID 200angezeigt.
Erweitern Sie Ihren Bericht mit Parametern
Es gibt viele Möglichkeiten, wie Sie mit Berichtsparametern arbeiten können, um Ihren Bericht zu verbessern. In den folgenden Abschnitten werden verschiedene Anpassungstechniken beschrieben:
- Identifizieren der Parameter, die derzeit vom Berichtsleser ausgewählt wurden
- Zulassen, dass Berichtsleser die Berichtsdaten filtern
- Unterstützen von Parametern mit mehreren Werten in Ihrem Bericht
- Hinzufügen boolescher Parameter für die bedingte Sichtbarkeit von Berichtsdaten
Vom Leser gewählte Parameter anzeigen
Wenn Ihre Berichtsleser Fragen zu einem Bericht haben, ist es hilfreich, ihre aktuelle Parameterauswahl zu kennen. Die vom Benutzer ausgewählten Werte können für jeden Parameter im Bericht beibehalten werden. Sie können die Parameter z. B. in einem Textfeld im Seitenfuß anzeigen.
Führen Sie die folgenden Schritte aus, um den ausgewählten Parameterwert mit einer Beschriftung auf der Fußzeile anzuzeigen:
Wählen Sie auf der Registerkarte Ausführen die Option Entwurf, um zur Designansicht zurückzukehren.
Klicken Sie mit der rechten Maustaste auf die Fußzeile, wählen Sie Einfügen aus und wählen Sie dann Textfeld aus:
Ziehen Sie das Textfeld neben das Textfeld mit dem Zeitstempel. Verwenden Sie die Breite des Textfelds mit dem seitlichen Ziehpunkt.
Ziehen Sie im Bereich Berichtsdaten unter dem Knoten Parameter den StoreID-Parameter in das Textfeld auf der Fußzeile. Das Textfeld wird aktualisiert, um den
[@StoreID]
-Wert anzuzeigen.Aktualisieren Sie das Textfeld, um eine Beschriftung für den Parameterwert hinzuzufügen:
Wählen Sie im Textfeld, bis die Einfügemarke nach dem vorhandenen Ausdruck erscheint und geben Sie dann ein Leerzeichen ein.
Ziehen Sie eine weitere Kopie des Parameters StoreID aus dem Bereich Berichtsdaten in das Textfeld. Das Textfeld wird aktualisiert, um
[@StoreID] [@StoreID]
anzuzeigen.Klicken Sie im Textfeld mit der rechten Maustaste auf den ersten
[StoreID]
-Parameter, und wählen Sie dann Ausdruck.Aktualisieren Sie im Dialogfeld Ausdruck den Ausdruck im Feld Ausdruck setzen für: Wert oben. Ersetzen Sie den Text
Value
durch den TextLabel
.
Wählen Sie OK, um Ihre Änderungen zu übernehmen.
Das Textfeld wird aktualisiert, um
[@StoreID.Label] [@StoreID]
anzuzeigen.Klicken Sie auf Ausführen, um eine Vorschau des Berichts anzuzeigen.
Der Bericht zeigt nun den Namen und den Bezeichner für den ausgewählten Speicher in der Fußzeile zusammen mit den Zeitstempelinformationen an.
Filtern von Berichtsdaten mit Parametern
Mithilfe von Filtern können die in einem Bericht zu verwendenden Daten gesteuert werden, nachdem sie aus einer externen Datenquelle abgerufen wurden. Um den Lesern die Kontrolle über die Daten zu geben, die sie im Bericht sehen, können Sie den Berichtsparameter in einen Filter für die Matrix aufnehmen.
Geben Sie mit diesen Schritten einen Parameter in einem Matrixfilter an:
Wählen Sie auf der Registerkarte Ausführen die Option Entwurf, um zur Designansicht zurückzukehren.
Klicken Sie in der Berichtsmatrix mit der rechten Maustaste auf eine Spaltenüberschrift, und wählen Sie dann Tablix-Eigenschaften.
Wählen Sie im Dialogfeld Tablix-Eigenschaften die Registerkarte Filter und dann Hinzufügen aus. Es wird ein neuer Zeilenfilter angezeigt.
Wählen Sie für die Eigenschaft Ausdruck das Dataset StoreID aus der Dropdownliste aus. Der Datentyp zeigt Ganze Zahl an. Wenn der Ausdruckswert ein Datasetfeld ist, wird der Datentyp automatisch festgelegt.
Überprüfen Sie für die Operator-Eigenschaft, ob das Gleichheitssymbol (=) ausgewählt ist.
Geben Sie für die Wert-Eigenschaft [@StoreID] ein.
[@StoreID]
ist die einfache Syntax, die den längeren Ausdruck=Parameters!StoreID.Value
darstellt.
Wählen Sie OK, um Ihre Änderungen zu übernehmen.
Klicken Sie auf Ausführen, um eine Vorschau des Berichts anzuzeigen.
Der Bericht zeigt nur Daten für den Contoso Catalog Store an.
Wählen Sie auf der Berichts-Viewer-Symbolleiste in der Eingabeaufforderung für den Store-Namen Contoso Asia Online Store und wählen Sie dann Bericht anzeigen.
In der Matrix werden Daten für das ausgewählte Geschäft angezeigt.
Verwenden von Parametern mit mehreren Werten
Ein mehrwertiger Parameter ist ein Wertarray. In einer Datasetabfrage muss die Abfragesyntax überprüfen, ob ein Wert in einem Satz von Werten enthalten ist. In einem Berichtsausdruck greift die Ausdruckssyntax nicht auf einzelnen Wert, sondern auf ein Wertarray zu.
Wenn Sie einen einwertigen Parameter in einen mehrwertigen Parameter ändern möchten, müssen Sie die Abfrage und alle Ausdrücke, die einen Verweis auf den Parameter enthalten (einschließlich Filter) ändern.
Führen Sie die folgenden Schritte aus, um einen vorhandenen Einzelwertparameter zu ändern, um mehrere Werte zu unterstützen:
Wählen Sie auf der Registerkarte Ausführen die Option Entwurf, um zur Designansicht zurückzukehren.
Klicken Sie im Berichtsdatenbereich im Ordner Parameter mit der rechten Maustaste auf den StoreID-Parameter und klicken Sie anschließend auf Parametereigenschaften.
Wählen Sie auf der Registerkarte Allgemein die Option Mehrere Werte zulassen und dann OK aus.
Aktualisieren Sie die Abfrage so, dass die Werte ordnungsgemäß verarbeitet werden:
Klicken Sie im Bereich Berichtsdaten im Knoten Datasets mit der rechten Maustaste auf den Datensatz DataSet1 und wählen Sie dann Abfrage.
Scrollen Sie im Dialogfeld Abfrage-Designer zum Ende der Abfrage im oberen Feld.
Ändern Sie in der Transact-SQL-
WHERE
Klausel in der letzten Zeile der Abfrage das Gleichheitszeichen (=
) inIN
:WHERE StoreID IN (@StoreID)
Der
IN
-Operator testet, ob ein Wert in einem Satz von Werten enthalten ist.Wählen Sie OK aus, um die Änderung zu übernehmen.
Aktualisieren Sie den Parameterfilter so, dass mehrere Werte ordnungsgemäß verarbeitet werden:
Klicken Sie in der Berichtsmatrix mit der rechten Maustaste auf eine Spaltenüberschrift, und wählen Sie dann Tablix-Eigenschaften.
Wählen Sie im Dialogfeld Tablix-Eigenschaften die Registerkarte Filter.
Wählen Sie für die Operator-Eigenschaft in der Dropdownliste In aus.
Wählen Sie OK aus, um die Änderung zu übernehmen.
Aktualisieren Sie die Fußzeile so, dass die Mehrwertparameterdaten ordnungsgemäß angezeigt werden:
Wählen Sie in der Fußzeile der Matrix das Textfeld aus, in dem der Parameter angezeigt wird.
Löschen Sie den gesamten Text im Textfeld.
Klicken Sie mit der rechten Maustaste auf das Textfeld und dann auf Ausdruck.
Fügen Sie im Dialogfeld Ausdruck den folgenden Ausdruck in das obere Feld ein:
=Join(Parameters!StoreID.Label, ", ")
Dieser Ausdruck verkettet alle Geschäftsnamen, die der Benutzer ausgewählt hat, und die durch ein Komma und ein Leerzeichen getrennt sind.
Wählen Sie OK aus, um die Änderung zu übernehmen.
Das Textfeld in der Fußzeile ändert sich in einen komplexen Ausdruck, <<Ausdruck>>.
Wählen Sie in der Fußzeile im Textfeld aus und verwenden Sie die Ziehpunkte, um die Breite des Felds zu erhöhen.
Positionieren Sie den Cursor im Textfeld vor dem Ausdruck und geben Sie den Text Parameterwerte ausgewählt: ein.
Wählen Sie den Beschriftungstext Parameterwerte ausgewählt: und wenden Sie das Format Fett auf den Text an. Alternativ können Sie die Tastenkombination (STRG + B) verwenden.
Überprüfen Sie den Bericht, und testen Sie die Unterstützung für den Mehrwertparameter:
Klicken Sie auf Ausführen, um eine Vorschau des Berichts anzuzeigen.
Erweitern Sie auf der Symbolleiste Berichtsanzeige an der Eingabeaufforderung Store-Name die Dropdownliste.
Jeder Parameterwert in der Liste weist ein Kontrollkästchen auf. Wenn der Parameterwert in der Berichtsansicht enthalten ist, ist das Kontrollkästchen aktiviert.
Wählen Sie in der Dropdownliste die Option Alle auswählen. Mit dieser Option werden alle Kontrollkästchen in der Liste ausgewählt, wodurch alle Parameterwerte im Bericht angezeigt werden.
Wählen Sie auf der Symbolleiste Berichtsanzeige die Option Bericht anzeigen aus. Im Bericht wird die verkaufte Menge in allen Unterkategorien für alle Geschäfte angezeigt:
Tipp
Bei langen Parameterwerten oder breiten Berichten mit vielen Spalten erhöhen Sie die Berichtsbreite oder Spaltenbreite auf der Designoberfläche, um die Lesbarkeit der Daten in der Berichtsansicht zu verbessern. Sie können auch die Formatierung von Spaltenüberschriften oder Zelldaten anpassen, z. B. mithilfe der Zentrierungsausrichtung, sodass lange Werte in lesbarer Form umbrochen werden.
Deaktivieren Sie in der Dropdownliste die Option Alle auswählen und wählen Sie dann zwei Werte aus: Contoso Catalog Store und Contoso Asia Online Store.
Wählen Sie Bericht anzeigen erneut aus, um die aktualisierten Ergebnisse anzuzeigen.
Hinzufügen boolescher Parameter für bedingte Sichtbarkeit
Wenn Sie einen booleschen Parameter (True oder False) in Ihrem Bericht implementieren, können Sie die Sichtbarkeit der Parameterdaten basierend auf der aktuellen Einstellung steuern.
Führen Sie die folgenden Schritte aus, um Ihrem Bericht einen booleschen Parameter hinzuzufügen:
Wählen Sie auf der Registerkarte Ausführen die Option Entwurf, um zur Designansicht zurückzukehren.
Klicken Sie im Bereich Berichtsdaten mit der rechten Maustaste auf den Knoten Parameter und wählen Sie Parameter hinzufügen.
Konfigurieren Sie im Dialogfeld Eigenschaften des Berichtsparameters die folgenden Eigenschaften auf der Registerkarte Allgemein:
Name: Geben Sie ShowSelections ein.
Prompt: Geben Sie Auswahl anzeigen? ein.
Datentyp: Wählen Sie in der Dropdownliste die Option Boole'sche aus.
Wechseln Sie zur Registerkarte Standardwerte und konfigurieren Sie die folgenden Eigenschaften:
Wählen Sie die Option Wert angeben und dann Hinzufügen.
Geben Sie im Feld Wert False ein.
Wählen Sie OK aus, um die Eigenschaftsänderungen zu übernehmen.
Jetzt können Sie die Sichtbarkeit basierend auf der Parametereinstellung steuern:
Klicken Sie in der Fußzeile der Matrix mit der rechten Maustaste auf das Textfeld, in dem der Parameter angezeigt wird, und wählen Sie Textfeldeigenschaften.
Konfigurieren Sie im Dialogfeld Textfeldeigenschaften die folgenden Eigenschaften:
Wählen Sie die Registerkarte Sichtbarkeit aus.
Wählen Sie die Option Auf Basis eines Ausdrucks anzeigen oder ausblenden.
Wählen Sie die Ausdrucksoption (Fx) aus.
Fügen Sie im Dialogfeld Ausdruck den folgenden Ausdruck in das obere Feld ein:
=Not Parameters!ShowSelections.Value
Die Eigenschaft Ausgeblendet steuert die Option für die Textfeld-Sichtbarkeit. Wenn der Operator Not (
!
) vorhanden ist und der Leser den Parameter auswählt, ist die Ausgeblendet-Eigenschaft False und das Textfeld zeigt die Parameterdaten an.Wählen Sie OK aus, um den Ausdruck anzuwenden.
Wählen Sie erneut OK aus, um die Textfeldeigenschaften anzuwenden.
Überprüfen Sie den Bericht, und testen Sie die Unterstützung für den booleschen Parameter:
Klicken Sie auf Ausführen, um eine Vorschau des Berichts anzuzeigen.
Legen Sie auf der Symbolleiste Berichtsanzeige die Option Auswahl anzeigen auf True fest. Wählen Sie Bericht anzeigen.
Wenn der Leser Auswahl anzeigen auf True festlegt, werden die ausgewählten Parameterwerte im Bericht angezeigt.
Hinzufügen eines Berichtstitels
Fügen Sie dem Bericht mit den folgenden Schritten einen Titel hinzu:
Wählen Sie in Berichts-Generator Entwurf aus, um zur Designansicht zurückzukehren.
Wählen Sie auf der Designoberfläche das Textfeld Klicken, um Titel hinzuzufügen.
Geben Sie im Textfeld Titel hinzufügen den Text Parametrisierte Produktverkäufe ein und wählen Sie dann außerhalb des Textfelds aus.
Bericht speichern
Führen Sie die folgenden Schritte aus, um den Bericht auf einem Berichtsserver zu speichern:
Wählen Sie Datei>Speichern unter aus.
Wählen Sie im Dialogfeld Als Bericht speichern im rechten Bereich die Option Zuletzt verwendete Websites und Server aus.
Wählen Sie den Namen des Berichtsservers aus, auf dem Sie zum Speichern von Berichten berechtigt sind, oder geben Sie ihn ein.
Die Meldung "Verbindung mit Berichtsserver wird hergestellt" wird angezeigt. Nach Abschluss der Verbindung wird der Standardberichtsordner geöffnet. Der Berichtsserveradministrator gibt den Standardordnerspeicherort an.
Ersetzen Sie für den Berichtsnamen den Standardwert Unbenannt durch Parameterized_Product_Sales.
Wählen Sie Speichern.
Der Bericht wird auf dem Berichtsserver gespeichert. Die Statusleiste am unteren Rand des Fensters zeigt den Namen des Berichtsservers für die Verbindung an.