sql >> Databáze >  >> RDS >> Sqlserver

Aktualizace parametrů sestavy na základě výběru parametrů? (SSRS)

Funguje to automaticky, pokud si správně objednáte parametry a datové sady

  • Nejprve nastavte primární datovou sadu (přehled) a poté datovou sadu pro každý rozbalovací seznam parametrů. Kód WHERE klauzule v datových sadách, aby byly závislosti mezi proměnnými parametrů správné
  • Zadruhé si objednejte parametry v přehledu | Parametry, takže první proměnná/parametr, který má uživatel vyplnit, je nahoře a druhá datová sada závisí na tomto parametru. Postupujte podle tohoto pořadí přes parametry; konečné parametry by měly být ty, na kterých závisí skutečná datová sada sestavy.
  • Opakujte pro další parametry

To bude fungovat, pokud vaše WHERE klauzule ve druhé a následujících datových sadách mají proměnné, o kterých SSRS ví, že jsou naplněny z dřívějších parametrů.

Jako příklad mám tři datové sady od ctihodných pubs databáze (ukázka v roce 2000).

pubslist se používá k naplnění parametru @p a vypadá takto:

 select pub_id, pub_name from publishers

titleslist naplní parametr @t a vypadá takto:

 select title_id, title from titles where pub_id = @p

Nakonec reportdataset vypadá takto:

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

Pořadí parametrů v Report | Report Parameters menu je zásadní; protože datové sady musí být spouštěny ve výše uvedeném pořadí a parametr @t je v datové sadě, která závisí na nastavení parametru @p jako první, přesuneme @p na začátek seznamu.

Nyní SSRS vyhodnotí datovou sadu potřebnou k vyplnění rozevíracího seznamu pro první parametr štítky. Spoléhá na datovou sadu, která nepotřebuje parametr, takže může být vytvořena okamžitě.

Poté, co získal tuto hodnotu parametru, může naplnit rozevírací seznam druhého parametru. To zase vede k vytvoření zprávy.



  1. Aktualizace Laravelu 5.4 -- Porušení omezení integrity - Sloupec nemůže být prázdný

  2. Zjistěte, do kterého čtvrtletí v Oracle patří datum

  3. Příklady CURRENT_TIMESTAMP – MySQL

  4. Vložení řádku a vyhnutí se sporu (PHP/MySQL)