Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Aktualisieren von Berichtsparametern basierend auf der Parameterauswahl? (SSRS)

Dies funktioniert automatisch, wenn Sie Ihre Parameter und Datensätze richtig anordnen

  • Richten Sie zuerst einen primären (Berichts-)Datensatz ein, dann einen Datensatz für jedes Dropdown-Menü für Parameter. Codieren Sie das WHERE -Klausel in den Datensätzen, um die Abhängigkeiten über Parametervariablen hinweg zu korrigieren
  • Ordnen Sie zweitens Ihre Parameter im Bericht | Parametermenü, so dass die erste Variable/Parameter, die der Benutzer ausfüllen soll, befindet sich ganz oben, und machen Sie den zweiten Datensatz von diesem Parameter abhängig. Folgen Sie dieser Reihenfolge durch die Parameter; der letzte Parameter sollte derjenige sein, von dem der eigentliche Berichtsdatensatz abhängt.
  • Für nachfolgende Parameter wiederholen

Dies funktioniert, wenn Ihr WHERE -Klausel im zweiten und nachfolgenden Datasets haben Variablen, von denen SSRS weiß, dass sie aus früheren Parametern aufgefüllt wurden.

Als Beispiel habe ich drei Datensätze der ehrwürdigen pubs Datenbank (Stichprobe 2000).

pubslist wird verwendet, um den @p-Parameter zu füllen, und sieht folgendermaßen aus:

 select pub_id, pub_name from publishers

titleslist füllt den @t-Parameter und sieht so aus:

 select title_id, title from titles where pub_id = @p

Schließlich reportdataset sieht so aus:

 select title, price, ytd_sales from titles where title_id = @t

Die Reihenfolge der Parameter im Report | Report Parameters Menü ist entscheidend; Da die Datensätze in der oben gezeigten Reihenfolge ausgeführt werden müssen und der @t-Parameter in einem Datensatz enthalten ist, der darauf angewiesen ist, dass der @p-Parameter zuerst gesetzt wird, verschieben wir @p an den Anfang der Liste.

Nun wertet SSRS den Datensatz aus, der benötigt wird, um das Dropdown-Menü für den ersten Parameter mit Labels zu füllen. Es basiert auf einem Datensatz, der keinen Parameter benötigt und daher sofort erstellt werden kann.

Nachdem Sie diesen Parameterwert erhalten haben, kann es das Dropdown-Menü des zweiten Parameters füllen. Dies wiederum führt zur Erstellung des Berichts.