Verwenden von Parametern zum Steuern von Berichtsdaten
Neu: 17. Juli 2006
Sie können mit Parametern steuern, welche Daten bei der Verarbeitung eines Berichts aus einer Datenquelle abgerufen werden, und Sie können Parameter zum Filtern der abgerufenen Daten verwenden. Es ist empfehlenswert, die aus der Datenquelle abgerufenen Daten auf solche zu beschränken, die speziell für den Bericht benötigt werden. Wenn Sie allerdings gespeicherte Prozeduren zum Abrufen der Daten verwenden, können Sie nicht steuern, welche Daten über die Abfrage abgerufen werden, und müssen daher anschließend die Berichtsdaten filtern.
Filtern von Daten an der Datenquelle
Abfrageparameter werden verwendet, um genau anzugeben, welche Daten aus der Datenquelle abgerufen werden sollen. Sie ermöglichen es Ihnen, Daten auf dem Server zu filtern, bevor sie an den Bericht gesendet werden.
Wenn Sie ein Dataset mit einer Abfrage definieren, die Variablen enthält, erstellt die Abfrage-Designer-Komponente von Reporting Services zu jeder Variablen einen Abfrageparameter. Zu jedem Abfrageparameter wird ein entsprechender Berichtsparameter erstellt, damit Benutzer oder Berichtsautoren Werte für die Berichtsparameter auswählen und diese in der Abfrage an die Datenquelle übergeben können.
Abfrageparameter
Abfrageparameter werden als Teil der Abfragedefinition eines Datasets definiert. Da jedes Berichtsdataset eine einzelne Abfrage definiert, werden Abfrageparameter als Eigenschaften des Datasets definiert.
Bei der Definition eines Datasets geben Sie einen bestimmten Typ von Datenquelle an, wie z. B. Microsoft SQL Server. Der Berichts-Designer öffnet einen für diesen Datenquellentyp entwickelten Abfrage-Designer oder den standardmäßigen Abfrage-Designer, der für alle Datenquellentypen verwendet werden kann. Wenn Sie die Abfrage für diese Datenquelle definieren, identifiziert der Abfrage-Designer die Variablen im Befehlstext der Abfrage und erstellt zu jeder Variablen einen Abfrageparameter. Weitere Informationen zu der von der Datenquelle erwarteten Abfragesyntax finden Sie unter Verwenden von Abfrageparametern mit bestimmten Datenquellen.
Bei einer SQL Server-Datenquelle enthält die Abfrage in der Regel Variablen in der WHERE-Klausel einer Transact-SQL-Anweisung, um den von der Abfrage zurückzugebenden Datenbereich einzuschränken. Entsprechend enthält die Abfrage für eine Analysis Services-Datenquelle in der Regel MDX-Variablen in einer FILTER-Klausel. Abfragen können auch Variablen enthalten, die als Eingabe an gespeicherte Prozeduren oder benutzerdefinierte Funktionen übergeben werden.
Nach jeder Änderung der Abfrage für ein Dataset wird die Abfrage erneut verarbeitet. Wenn Sie eine Abfrage ändern, indem Sie eine Variable entfernen oder umbenennen, spiegeln sich diese Änderungen in den Abfrageparametern wider. Nur Variablen, die im Befehlstext der Abfrage vorhanden sind, ergeben entsprechende Abfrageparameter in der Abfragedefinition des Datasets.
Der Standardwert jedes Abfrageparameters wird auf einen Ausdruck festgelegt, der zum entsprechenden Berichtsparameter ausgewertet wird. Diese Parameterbindung wird auf der Registerkarte Parameter der Dataset-Eigenschaften definiert. Wenn z. B. für eine SQL Server-Datenquelle der Abfrageparameter @MyParameter lautet, ist der Berichtsparameter MyParameter, und der Wert von @MyParameter wird auf den Ausdruck =Parameters!MyParameter.Value
festgelegt. Weitere Informationen finden Sie unter Dataset (Registerkarte Parameter, Berichts-Designer). Sie können die Abfrageparameter manuell bearbeiten und ihre Standardwerte festlegen. Weitere Informationen finden Sie unter Vorgehensweise: Zuordnen eines Abfrageparameters zu einem Berichtsparameter (Berichts-Designer).
Hinweis: |
---|
Wenn Sie den Namen eines Abfrageparameters entfernen oder ändern, wird der entsprechende Berichtsparameter nicht automatisch mit entfernt bzw. umbenannt. |
Berichtsparameter
Berichtsparameter werden im Berichts-Designer automatisch erstellt, wenn Sie eine Datasetabfrage definieren, die Variablen enthält. Im Berichts-Generator werden Berichtsparameter automatisch erstellt, wenn Sie eine Eingabeaufforderung für eine Filterklausel festlegen. Sie können Berichtsparameter, die nicht an Abfrageparameter gebunden sind, auch manuell im Dialogfeld Berichtsparameter erstellen.
- Die Darstellung des Parameters auf der Berichtssymbolleiste ist abhängig vom Datentyp und anderen Berichtsparametereigenschaften. Je nach Datentyp des Parameters können Sie Berichtsparametereigenschaften mithilfe von Optionsschaltflächen, Textfeldern, Dropdownlisten, Kalendersteuerelementen oder mehreren Kontrollkästchen festlegen.
- Berichtsparameter können ein- oder mehrwertig sein. Mehrwertige Parameter ermöglichen es Benutzern, mehrere Werte für den entsprechenden Parameter auszuwählen.
- Berichtsparameter können von anderen Berichtsparametern abhängig sein. Die Reihenfolge der Berichtsparameter ist von großer Bedeutung. Ein Parameter weiter unten in der Liste der Parameter kann von einem Parameter weiter oben in der Liste abhängig sein. Dies ermöglicht Ihnen, einen Satz von sogenannten kaskadierenden Parametern zu definieren, bei dem die Liste der Werte für einen Parameter von dem Wert abhängt, der in einem anderen Parameter ausgewählt wurde.
- Berichtsparameter können in Ausdrücken verwendet werden. Ausdrücke mit Parametern können überall dort verwendet werden, wo ein Ausdruck zulässig ist. Wenn der Bericht ausgeführt wird, werden die Werte der Parameter im Ausdruck ersetzt. Auf diese Weise können von Benutzern ausgewählte Parameter viele Aspekte der Darstellung und des Inhalts eines Berichts parameterbedingt steuern. Dazu gehören das Ausblenden von Zeilen und Spalten, die Sortierung und Filterung von Daten sowie die Behandlung von NULL-Daten.
Berichtsparameter werden beim Verfassen des Berichts in die Berichtsdefinition integriert, können aber auch nach der Veröffentlichung des Berichts unabhängig verwaltet werden. In der Daten- oder Layoutansicht des Berichts-Designers können Sie für den Bericht definierte Parameter bearbeiten. Weitere Informationen finden Sie unter Vorgehensweise: Hinzufügen, Bearbeiten oder Löschen eines Berichtsparameters (Berichts-Designer). Nachdem der Bericht veröffentlich wurde, können Sie Parametereigenschaften über den Berichts-Manager ändern. Weitere Informationen finden Sie unter Festlegen von Parametereigenschaften für einen publizierten Bericht.
Schnell veränderliche gültige Werte von Parametern
Wenn Sie verfügbare Werte angeben, die sich schnell ändern, können die Werte veraltet sein, bevor der Bericht ausgeführt wird. So kann ein Benutzer einen Wert aus der Liste auswählen, der zu dem Zeitpunkt, zu dem der Benutzer den Wert absendet und den Bericht ausführt, nicht mehr gültig ist. Um dies zu vermeiden, sollten Sie Abfragen so schreiben, dass sich die zurückgegebenen Datasets für Listen gültiger Werte in dem Zeitraum nicht ändern, den ein Benutzer normalerweise benötigt, um einen Wert auszuwählen und den Bericht auszuführen.
Vermeiden Sie auch schnell veränderliche nicht abgefragte Werte. Wenn Sie z. B. das aktuelle Datum als verfügbaren Wert bereitstellen, sollten Sie einen Ausdruck schreiben, der die DateTime.Today-Eigenschaft statt der DateTime.Now-Eigenschaft verwendet. Dadurch wird der schnell veränderliche Teil des Wertes eliminiert.
Filtern von Berichtsdaten
Sie können Daten filtern, nachdem sie aus der Datenquelle abgerufen wurden, indem Sie einen Filterausdruck für ein Dataset definieren, der einen Verweis auf einen Parameter enthält. Auf diese Weise werden nur gefilterte Daten im Bericht angezeigt, wenn der Leser des Berichts Werte für einen Parameter auswählt und der Bericht anschließend verarbeitet wird.
Siehe auch
Aufgaben
Vorgehensweise: Zuordnen eines Abfrageparameters zu einem Berichtsparameter (Berichts-Designer)
Konzepte
Definieren von Berichtsdatasets
Andere Ressourcen
Lernprogramm: Hinzufügen von Parametern zu einem einfachen Tabellenbericht
Lernprogramm: Erweiterte Features und Parameter
Definieren von Berichtsdatenquellen
Datenansicht (Berichts-Designer)