Festlegen von Parametereigenschaften für einen publizierten Bericht

Bei einem parametrisierten Bericht handelt es sich um einen Bericht, der für die Berichtsverarbeitung verwendete Eingabewerte akzeptiert. Parameter werden im Berichts-Designer beim Erstellen des Berichts definiert. Weitere Informationen zum Definieren von Parametern finden Sie unter Parameter (Report Builder 3.0 und SSRS).

Nach der Veröffentlichung eines Berichts können Sie Parametereigenschaften über den Berichts-Manager folgendermaßen ändern:

  • Ausführen eines Berichts mit voreingestellten Parameterwerten, die der Benutzer niemals zu sehen bekommt.

  • Ausführen eines Berichts mithilfe eines Standardparameterwertes oder eines vom Benutzer ausgewählten gültigen Wertes.

  • Ausführen eines Berichts ohne einen angegebenen Parameterwert. Geben Sie einen Nullwert an, um ein ungefiltertes Resultset zurückzugeben.

  • Ausführen eines personalisierten Berichts, der benutzerspezifische Informationen auf der Basis eines vom Benutzer eingegebenen Wertes abruft (z. B. eine persönliche Identifikationsnummer, um den Saldo für ein Buchhaltungs- oder Lohnkonto zurückzugeben).

Parametereigenschaften, die Sie für einen veröffentlichten Bericht im Berichts-Manager festlegen, werden im Allgemeinen beibehalten, wenn Sie die Berichtsdefinition über den Berichts-Designer erneut veröffentlichen. Falls die Berichtsdefinition als derselbe Bericht erneut veröffentlicht wird und die Parameternamen und Datentypen unverändert sind, bleiben die Eigenschaftseinstellungen erhalten. Wenn Sie Parameter in der Berichtsdefinition hinzufügen bzw. löschen oder den Datentyp oder den Namen eines vorhandenen Parameters ändern, müssen Sie möglicherweise die Parametereigenschaften in dem veröffentlichten Bericht ändern.

Nicht alle Parameter können in jedem Fall geändert werden. Wenn ein Berichtsparameter einen Standardwert aus einer Abfrage abruft, kann der Wert nicht im Berichts-Manager geändert werden. Standardparameterwerte, die als "abfragebasiert" angegeben sind, sind in der Berichtsdefinition definiert und können nicht im Berichts-Manager geändert werden. Ein abfragebasierter Parameterwert ist kein konstanter Wert. Der zur Laufzeit verwendete Wert wird bestimmt, wenn die Abfrage ausgeführt wird oder bei ausdruckbasierten Parametern, wenn der Ausdruck ausgewertet wird.

Die Optionen für die Berichtsausführung können die Verarbeitung von Parametern beeinflussen. Für einen Bericht, der als Momentaufnahme ausgeführt wird, sind keine Parameter zulässig, die von einer Abfrage abgeleitet sind, außer die Abfrage enthält Standardwerte für die Parameter. Weitere Informationen zu Abfrageparametern finden Sie unter Vorgehensweise: Zuordnen eines Abfrageparameters zu einem Berichtsparameter (Berichts-Generator 3.0 und SSRS).

Sicherheitsüberlegungen für parametrisierte Berichte

Gehen Sie beim Verteilen von parametrisierten Berichten, die vertrauliche Informationen enthalten, mit Vorsicht vor. Ein Benutzer kann auf einfache Weise einen Berichtsparameter durch einen anderen Wert ersetzen. Dies führt dazu, dass unbeabsichtigt Informationen veröffentlicht werden.

Eine sichere Alternative zum Verwenden von Parametern für Mitarbeiterdaten oder persönliche Daten besteht darin, Daten basierend auf Ausdrücken auszuwählen, die das UserID-Feld aus der Users-Auflistung enthalten. Die Users-Auflistung stellt eine Methode bereit, um die Identität des Benutzers, der den Bericht ausführt, abzurufen und diese Identität zum Abrufen von benutzerspezifischen Daten zu verwenden. Weitere Informationen finden Sie unter Verwenden von integrierten globalen Werten und Benutzerverweisen (Report Builder 3.0 und SSRS).

SicherheitshinweisSicherheitshinweis

Verwenden Sie in einem Bericht, der einen Parameter vom Typ String enthält, eine Liste der verfügbaren Werte (wird auch als Liste der gültigen Werte bezeichnet), und stellen Sie sicher, dass Benutzer, die den Bericht ausführen, nur über die Berechtigungen verfügen, die zum Anzeigen der Daten im Bericht erforderlich sind. Wenn Sie einen Parameter vom Typ String definieren, wird den Benutzern ein Textfeld angezeigt, das jeden beliebigen Wert annehmen kann. Mit einer Liste der verfügbaren Werte werden die Werte eingeschränkt, die eingegeben werden können. Wenn der Berichtsparameter an einen Abfrageparameter gebunden ist und Sie keine Liste mit verfügbaren Werten verwenden, kann ein Benutzer des Berichts SQL-Syntax in das Textfeld eingeben. Damit öffnet er den Bericht und Ihren Server potenziell für einen SQL-Injection-Angriff. Wenn der Benutzer über Berechtigungen zum Ausführen der neuen SQL-Anweisung verfügt, können daraus unerwünschte Ergebnisse auf dem Server resultieren.

Wenn ein Berichtsparameter nicht an einen Abfrageparameter gebunden ist und die Parameterwerte im Bericht enthalten sind, können die Benutzer des Berichts Ausdruckssyntax oder eine URL in den Parameterwert eingeben und den Bericht für Excel oder HTML rendern. Wenn anschließend ein anderer Benutzer den Bericht anzeigt und auf die gerenderten Parameterinhalte klickt, führt der Benutzer möglicherweise unbeabsichtigt das bösartige Skript bzw. den bösartige Link aus.

Wenn Sie das Risiko des unbeabsichtigten Ausführens von böswilligen Skripts minimieren möchten, öffnen Sie gerenderte Berichte nur über vertrauenswürdige Quellen. Weitere Informationen zum Sichern von Berichten finden Sie unter Sichern von Berichten und Ressourcen.

Festlegen von Parametereigenschaften

Die Parametereigenschaften, die Sie für einen veröffentlichten Bericht ändern können, werden von dem in der ursprünglichen Berichtsdefinition angegebenen Parameter bestimmt. Der Anzeigetext und die Hide-Eigenschaft, die bestimmt, ob der Parameter für die Benutzer sichtbar ist, können jederzeit geändert werden. Der Standardwert kann jedoch nicht immer geändert werden, falls dieser Wert von einer Abfrage abgeleitet ist. In diesem Fall wird die Zeichenfolge "Abfragebasiert" neben dem Parameter angezeigt.

Öffnen Sie die Seite Parametereigenschaften für den Bericht, um Parametereigenschaften zu ändern. Sie können die folgenden Eigenschaften ändern:

  • Die Hat Standardwert-Eigenschaft bestimmt, ob der Bericht ohne Benutzereingabe verarbeitet werden kann. Ist für einen Parameter kein Standardwert angegeben, muss der Benutzer einen Standardwert angeben, bevor der Bericht verarbeitet werden kann.

  • Für die Standardwert-Eigenschaft ist eine Konstante oder NULL zulässig (falls der Parameter NULL-Werte akzeptiert). Ein Ausdruck kann hierfür nicht festgelegt werden.

  • Die Ausblenden-Eigenschaft bestimmt, ob die Anzeige- und Eingabefelder für die Benutzer sichtbar sind. Aktivieren Sie dieses Kontrollkästchen, um den Parameter auszublenden.

  • Die Eingabeaufforderung für Benutzer-Eigenschaft bestimmt, ob der Benutzer einen anderen gültigen Wert für den Parameter eingeben oder auswählen kann. Diese Eigenschaft ist aktiviert, wenn Ausblenden deaktiviert ist.

  • Die Text anzeigen-Eigenschaft gibt den Text an, der neben dem Parameter angezeigt wird. Hierbei kann es sich um eine Bezeichnung oder eine längere Zeichenfolge mit Anweisungen zum Verwenden handeln. Diese Eigenschaft ist aktiviert, wenn Sie Eingabeaufforderung für Benutzer auswählen.

Der Datentyp von Parametern in einem veröffentlichten Bericht kann nicht gelöscht, umbenannt, neu angeordnet oder geändert werden. Darüber hinaus können Sie den Parameternamen nicht ändern. Sie müssen die Berichtsdefinition ändern, um diese Eigenschaften zu ändern.

Ausblenden von Parametern

Die in einem Bericht verwendeten Parameterfelder und Bezeichnungen können ausgeblendet werden. Wenn alle Parameter ausgeblendet sind, ist der Parameterbereich für einen bedarfsgesteuerten Bericht ausgeblendet. Wenn Sie einen Parameter ausblenden, müssen Sie entweder in der Berichtsdefinition oder auf der Eigenschaftenseite Parameter einen Standardwert angeben. Je nach Bericht können Sie einen NULL-Wert angeben, wenn NULL-Werte zulässig sind.

Durch das Ausblenden eines Parameters wird er nicht in allen Situationen unsichtbar. Parameter, die Sie auf der Berichtssymbolleiste ausblenden, können dennoch in Abonnements und über URLs festgelegt werden. Um einen Parameter überall außer in der Berichtsdefinition auszublenden, wählen Sie im Dialogfeld Berichtsparameter die Option Intern aus.

So blenden Sie einen Parameter aus

  1. Wählen Sie Besitzt Standardwert aus.

  2. Geben Sie einen Wert für Standardwert an.

  3. Wählen Sie Ausblenden aus.

Überprüfen von Parameterwerten

Führen Sie den Bericht aus, um festzustellen, ob ein angegebener Wert gültig ist. Fehler im Zusammenhang mit der Parameterverarbeitung werden auf der Seite Fehler im Berichts-Manager angezeigt. Zeigen Sie die Protokolldateien an, um das Problem weiter zu analysieren. Weitere Informationen finden Sie unter Reporting Services-Protokolldateien.

Festlegen von Parametern in Abonnements

Parameterwerte können Sie auf der Seite Parametereigenschaften oder auch beim Erstellen eines Abonnements festlegen. Jeder Benutzer, der einen Bericht abonniert, kann Parameterwerte angeben, die zusammen mit dem Abonnement gespeichert und von diesem verwendet werden. Weitere Informationen finden Sie unter Festlegen von Parametern in Abonnements.