Działa to automatycznie, jeśli poprawnie uporządkujesz parametry i zestawy danych
- Najpierw skonfiguruj podstawowy (raport) zestaw danych, a następnie zestaw danych dla każdego menu rozwijanego parametru. Zakoduj
WHERE
klauzula w zbiorach danych, aby zależności między zmiennymi parametrów były poprawne - Po drugie, zamów parametry w Raporcie | Menu parametrów, aby pierwszy zmienna/parametr, który użytkownik ma wypełnić, znajduje się na górze, a drugi zestaw danych jest zależny od tego parametru. Postępuj zgodnie z tą kolejnością poprzez parametry; ostatecznym parametrem(ami) powinny być te, od których zależy rzeczywisty zestaw danych raportu.
- Powtórz dla kolejnych parametrów
To zadziała, jeśli Twój WHERE
klauzula w drugim i kolejnych zbiorach danych zawiera zmienne, o których SSRS wie, że są wypełniane na podstawie wcześniejszych parametrów.
Jako przykład mam trzy zbiory danych z czcigodnych pubs
baza danych (przykład w 2000 r.).
pubslist
służy do wypełniania parametru @p i wygląda tak:
select pub_id, pub_name from publishers
titleslist
wypełnia parametr @t i wygląda tak:
select title_id, title from titles where pub_id = @p
Na koniec reportdataset
wygląda tak:
select title, price, ytd_sales from titles where title_id = @t
Kolejność parametrów w Report | Report Parameters
menu jest kluczowe; ponieważ zestawy danych muszą być wykonywane w kolejności pokazanej powyżej, a parametr @t znajduje się w zestawie danych, który opiera się na ustawieniu parametru @p jako pierwszy, przenosimy @p na początek listy.
Teraz usługa SSRS ocenia zestaw danych potrzebny do wypełnienia listy rozwijanej pierwszego parametru etykietami. Opiera się na zestawie danych, który nie potrzebuje parametru, więc może być natychmiast wygenerowany.
Następnie, mając tę wartość parametru, może wypełnić listę rozwijaną drugiego parametru. To z kolei skutkuje powstaniem raportu.