Freigeben über


Hinzufügen von kaskadierenden Parametern zu einem paginierten Bericht (Berichts-Generator)

Gilt für: Microsoft Report Builder (SSRS) Power BI Report Builder Berichts-Designer in SQL Server Data Tools

Kaskadierende Parameter ermöglichen das Verwalten großer Datenmengen in einem paginierten Bericht. Sie können einen Satz von abhängigen Parametern definieren, sodass die Liste der Werte für einen Parameter von dem Wert abhängt, der in einem anderen Parameter ausgewählt wurde. Der erste Parameter ist beispielsweise unabhängig und stellt eine Liste von Produktkategorien dar. Wenn der Benutzer eine Kategorie auswählt, hängt der zweite Parameter vom Wert des ersten Parameters ab. Seine Werte werden mit einer Liste von Unterkategorien innerhalb der ausgewählten Kategorie aktualisiert. Wenn der Benutzer den Bericht anzeigt, werden die Berichtsdaten mit den Parameterwerten für die Kategorie und die Unterkategorien gefiltert.

Hinweis

Sie können paginierte Berichtsdefinitionsdateien (.rdl) im Berichts-Generator von Microsoft, im Power BI Report Builder und im Berichts-Designer in SQL Server-Datentools erstellen und ändern.

Zum Erstellen von kaskadierenden Parametern definieren Sie zunächst die Datasetabfrage und binden einen Abfrageparameter für jeden benötigten kaskadierenden Parameter ein. Außerdem müssen Sie ein separates Dataset für jeden kaskadierenden Parameter erstellen, um verfügbare Werte bereitzustellen. Weitere Informationen finden Sie unter Hinzufügen, Ändern oder Löschen von verfügbaren Werten für einen Berichtsparameter (Berichts-Generator).

Die Reihenfolge ist für kaskadierende Parameter relevant, da die Datasetabfrage für einen Parameter weiter unten in der Liste einen Verweis auf jeden Parameter weiter oben in der Liste enthält. Zur Laufzeit bestimmt die Reihenfolge der Parameter im Berichtsdatenbereich die Reihenfolge, in der Parameterabfragen im Bericht aufgeführt werden. Daher wählt ein Benutzer jeden aufeinanderfolgenden Parameterwert aus.

Informationen zum Erstellen von kaskadierenden Parametern mit mehreren Werten und einschließlich der Funktion "Alle auswählen" finden Sie unter Informationen zu einem mehrwertigen, kaskadierenden Parameter vom Typ Alle auswählen.

  1. Klicken Sie im Berichtsdatenbereich mit der rechten Maustaste auf eine Datenquelle, und klicken Sie anschließend auf Dataset hinzufügen.

  2. Geben Sie unter Name den Namen des Datasets ein.

  3. Wählen Sie in Datenquelle den Namen der Datenquelle aus oder klicken Sie auf Neu, um eine Datenquelle zu erstellen.

  4. Wählen Sie in Abfragetypden Abfragetyp für die ausgewählte Datenquelle aus. In diesem Artikel wird angenommen, dass der Abfragetyp Text ausgewählt wurde.

  5. Geben Sie in Abfrage die Abfrage ein, mit der die Daten für diesen Bericht abgerufen werden sollen. Die Abfrage muss die folgenden Teile enthalten:

    1. Eine Liste mit Datenquellenfeldern. In einer Transact-SQL-Anweisung gibt beispielsweise die SELECT-Anweisung eine Liste mit den Namen aller Datenbankspalten aus einer bestimmten Tabelle oder Sicht an.

    2. Einen Abfrageparameter für jeden kaskadierenden Parameter. Ein Abfrageparameter beschränkt die von der Datenquelle abgerufenen Daten, indem bestimmte Werte angegeben werden, die in die Abfrage eingebunden bzw. von dieser ausgeschlossen werden sollen. Typischerweise sind Abfrageparameter in einer Einschränkungsklausel in der Abfrage enthalten. In einer SELECT-Anweisung von Transact-SQL sind Abfrageparameter beispielsweise in der WHERE-Klausel enthalten.

  6. Klicken Sie auf Ausführen (!). Nachdem Sie die Abfrageparameter eingebunden und anschließend die Abfrage ausgeführt haben, werden automatisch Berichtsparameter erstellt, die den Abfrageparametern entsprechen.

    Hinweis

    Die Reihenfolge von Abfrageparametern beim erstmaligen Ausführen einer Abfrage bestimmt die Reihenfolge, in der sie im Bericht erstellt werden. Informationen zum Ändern der Reihenfolge finden Sie unter Ändern der Reihenfolge von Berichtsparametern (Berichts-Generator)

  7. Wählen Sie OK aus.

Anschließend erstellen Sie ein Dataset, das die Werte für den unabhängigen Parameter bereitstellt.

Erstellen eines Datasets zum Bereitstellen von Werten für einen unabhängigen Parameter

  1. Klicken Sie im Berichtsdatenbereich mit der rechten Maustaste auf eine Datenquelle, und klicken Sie anschließend auf Dataset hinzufügen.

  2. Geben Sie unter Name den Namen des Datasets ein.

  3. Vergewissern Sie sich, dass der Name in Datenquelledem Namen der Datenquelle entspricht, die in Schritt 1 ausgewählt wurde.

  4. Wählen Sie in Abfragetypden Abfragetyp für die ausgewählte Datenquelle aus. In diesem Artikel wird angenommen, dass der Abfragetyp Text ausgewählt wurde.

  5. Geben Sie in Abfrage die Abfrage ein, mit der Werte für diesen Parameter abgerufen werden sollen. Abfragen für unabhängige Parameter enthalten normalerweise keine Abfrageparameter. Wenn Sie z. B. eine Abfrage für einen Parameter erstellen möchten, der alle Kategoriewerte bereitstellt, könnten Sie eine Transact-SQL-Anweisung ähnlich dem folgenden Block verwenden:

    SELECT DISTINCT <column name> FROM <table>  
    

    Der SELECT DISTINCT-Befehl entfernt doppelte Werte aus dem Resultset, sodass Sie die einzelnen eindeutigen Werte aus der angegebenen Spalte in der angegebenen Tabelle abrufen.

    Klicken Sie auf Ausführen (!). Im Resultset werden die Werte angezeigt, die für diesen ersten Parameter verfügbar sind.

  6. Wählen Sie OK aus.

Anschließend legen Sie die Eigenschaften des ersten Parameters fest, um mit diesem Dataset zur Laufzeit die verfügbaren Werte aufzufüllen.

Festlegen verfügbarer Werte für einen Berichtsparameter

  1. Klicken Sie im Berichtsdatenbereich im Ordner Parameter mit der rechten Maustaste auf den ersten Parameter und klicken Sie anschließend auf Parametereigenschaften.

  2. Vergewissern Sie sich, dass in Nameder korrekte Name des Parameters angegeben ist.

  3. Wählen Sie Verfügbare Werte aus.

  4. Klicken Sie auf Werte aus Abfrage abrufen. Es werden drei Felder angezeigt.

  5. Klicken Sie in Dataset in der Liste auf den Namen des Datasets, das Sie in der vorherigen Prozedur erstellt haben.

  6. Klicken Sie in Wert auf den Namen des Felds, das den Parameterwert bereitstellt.

  7. Klicken Sie in Bezeichnung auf den Namen des Felds, das die Parameterbezeichnung bereitstellt.

  8. Wählen Sie OK aus.

Nun erstellen Sie ein Dataset, das die Werte für einen abhängigen Parameter bereitstellt.

Erstellen eines Datasets zum Bereitstellen von Werten für einen abhängigen Parameter

  1. Klicken Sie im Berichtsdatenbereich mit der rechten Maustaste auf eine Datenquelle, und klicken Sie anschließend auf Dataset hinzufügen.

  2. Geben Sie unter Name den Namen des Datasets ein.

  3. Vergewissern Sie sich, dass der Name in Datenquelledem Namen der Datenquelle entspricht, die in Schritt 1 ausgewählt wurde.

  4. Wählen Sie in Abfragetypden Abfragetyp für die ausgewählte Datenquelle aus. In diesem Artikel wird angenommen, dass der Abfragetyp Text ausgewählt wurde.

  5. Geben Sie in Abfrage die Abfrage ein, mit der Werte für diesen Parameter abgerufen werden sollen. Abfragen für abhängige Parameter enthalten normalerweise Abfrageparameter für jeden Parameter, von dem der betreffende Parameter abhängig ist. Sie können z. B. eine Abfrage für einen Parameter erstellen, die alle Unterkategoriewerte (abhängiger Parameter) für eine Kategorie (unabhängiger Parameter) liefert. Dazu können Sie eine Transact-SQL-Anweisung wie den folgenden Block verwenden:

    SELECT DISTINCT Subcategory FROM <table>   
    WHERE (Category = @Category)  
    

    In der WHERE-Klausel ist Kategorie der Name eines Felds aus <table>, und @Category ist ein Abfrageparameter. Diese Anweisung erstellt eine Liste von Unterkategorien für die in @Category angegebene Kategorie. Zur Laufzeit wird dieser Wert mit dem Wert ausgefüllt, der vom Benutzer für den Berichtsparameter mit demselben Namen ausgewählt wurde.

  6. Wählen Sie OK aus.

Anschließend legen Sie die Eigenschaften des zweiten Parameters fest, um mit diesem Dataset zur Laufzeit die verfügbaren Werte aufzufüllen.

Festlegen verfügbarer Werte für den zweiten Parameter

  1. Klicken Sie im Berichtsdatenbereich im Ordner Parameter mit der rechten Maustaste auf den ersten Parameter und klicken Sie anschließend auf Parametereigenschaften.

  2. Vergewissern Sie sich, dass in Nameder korrekte Name des Parameters angegeben ist.

  3. Wählen Sie Verfügbare Werte aus.

  4. Klicken Sie auf Werte aus Abfrage abrufen.

  5. Klicken Sie in Dataset in der Liste auf den Namen des Datasets, das Sie in der vorherigen Prozedur erstellt haben.

  6. Klicken Sie in Wert auf den Namen des Felds, das den Parameterwert bereitstellt.

  7. Klicken Sie in Bezeichnung auf den Namen des Felds, das die Parameterbezeichnung bereitstellt.

  8. Wählen Sie OK aus.

Testen der kaskadierenden Parameter

  1. Klicken Sie auf Run (Ausführen).

  2. Wählen Sie in der Liste für den ersten unabhängigen Parameter einen Wert aus.

    Der Berichtsprozessor führt die Datasetabfrage für den nächsten Parameter aus und übergibt den Wert, den Sie für den ersten Parameter ausgewählt haben. Die Liste für den zweiten Parameter wird mit den verfügbaren Werten gefüllt, die auf dem Wert des ersten Parameters beruhen.

  3. Wählen Sie in der Liste für den zweiten, abhängigen Parameter einen Wert aus.

    Der Bericht wird nach dem Auswählen des letzten Parameters nicht automatisch ausgeführt, sodass Sie eine andere Auswahl vornehmen können.

  4. Wählen Sie Bericht anzeigen. Die Anzeige des Berichts wird mit den ausgewählten Parametern aktualisiert.