我在 SSRS 中创建了一个带有两个报告参数的报告。我希望第二个根据第一个中的选择更新它的值。第一个是销售代理列表,第二个是经销商列表。每个代理可以有多个分销商。
因此,如果报告用户选择了代理,我只希望他们的分销商显示在第二个参数的列表中。显然,参数值将来自查询,但我不知道一旦他们选择了代理,如何让它重新绑定(bind)列表。
最佳答案
如果您正确订购参数和数据集,这将自动工作
WHERE
数据集中的子句以使参数变量之间的依赖关系正确如果您的
WHERE
第二个和后续数据集中的子句具有 SSRS 知道的变量是从早期参数填充的。例如,我有来自古老的
pubs
的三个数据集。数据库(2000 年样本)。pubslist
用于填充@p 参数,如下所示: select pub_id, pub_name from publishers
titleslist
填充 @t 参数,如下所示: select title_id, title from titles where pub_id = @p
最后,
reportdataset
看起来像这样: select title, price, ytd_sales from titles where title_id = @t
Report | Report Parameters
中的参数顺序菜单至关重要;因为数据集必须按照上面显示的顺序执行,并且@t 参数位于依赖于首先设置的@p 参数的数据集中,所以我们将@p 移动到列表的顶部。现在,SSRS 评估使用标签填充第一个参数的下拉列表所需的数据集。它依赖于不需要参数的数据集,因此可以立即生成。
然后,获得该参数值后,它可以填充第二个参数的下拉列表。这反过来导致生成报告。
关于sql-server-2005 - 根据参数选择更新报表参数? (SSRS),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1053396/