Я считаю, что слишком много людей, принимающих программные решения, не должны беспокоиться о реализации.
Это работает автоматически, если правильно упорядочить параметры и наборы данных
WHERE
в наборах данных, чтобы исправить зависимости между переменными параметров Это будет работать, если ваше предложение WHERE
во втором и последующих наборах данных содержит переменные, которые, как известно SSRS, заполнены из более ранних параметров.
В качестве примера у меня есть три наборы данных из почтенной базы данных pubs
(образец 2000 г.).
pubslist
используется для заполнения параметра @p и выглядит следующим образом:
select pub_id, pub_name from publishers
titlelist
заполняет @t параметр, и выглядит так:
select title_id, title from titles where pub_id = @p
Наконец, reportdataset
выглядит так:
select title, price, ytd_sales from titles where title_id = @t
Порядок параметров в Report | Меню параметров отчета
имеет решающее значение; поскольку наборы данных должны выполняться в указанном выше порядке, а параметр @t находится в наборе данных, который зависит от того, что параметр @p устанавливается первым, мы перемещаем @p в начало списка.
Теперь, SSRS оценивает набор данных, необходимый для заполнения раскрывающегося списка для первого параметра метками. Он полагается на набор данных, которому не нужен параметр, поэтому может быть создан немедленно.
Затем, получив это значение параметра, он может заполнить раскрывающийся список второго параметра. Это, в свою очередь, приводит к составлению отчета.
I haven't tried this myself, but I saw an example where they configured Available Values to come from a query, then used an expression to specify the query. The expression included the value of the first parameter.