Jon*_*ees 11 sql-server-2005 reporting-services
我在SSRS中创建了一个包含两个报告参数的报告.我希望第二个根据第一个选择更新它的值.第一个是销售代理商列表,第二个是分销商列表.每个代理商可以有许多经销商.
因此,如果报告用户选择代理,我只希望他们的分销商在列表中显示第二个参数.显然,参数值将来自查询,但我不知道如何在选择代理后重新绑定列表.
Jer*_*yth 13
如果您正确地订购参数和数据集,这将自动运行
WHERE对数据集中的子句进行编码,以使参数变量之间的依赖关系正确如果WHERE第二个和后续数据集中的子句具有SSRS知道的变量从早期参数填充,则此方法将起作用.
例如,我有来自古老pubs数据库的三个数据集(2000年的样本).
pubslist 用于填充@p参数,如下所示:
select pub_id, pub_name from publishers
Run Code Online (Sandbox Code Playgroud)
titleslist 填充@t参数,如下所示:
select title_id, title from titles where pub_id = @p
Run Code Online (Sandbox Code Playgroud)
最后,reportdataset看起来像这样:
select title, price, ytd_sales from titles where title_id = @t
Run Code Online (Sandbox Code Playgroud)
Report | Report Parameters菜单中参数的顺序至关重要; 因为必须按照上面显示的顺序执行数据集,并且@t参数位于依赖于首先设置的@p参数的数据集中,我们将@p移动到列表的顶部.
现在,SSRS评估使用标签填充第一个参数下拉列表所需的数据集.它依赖于不需要参数的数据集,因此可以立即生成.
然后,获得该参数值后,它可以填充第二个参数的下拉列表.这反过来会导致生成报告.
| 归档时间: |
|
| 查看次数: |
34571 次 |
| 最近记录: |