【问题标题】:Passing multiple values using URL to a drop down parameter in SSRS使用 URL 将多个值传递给 SSRS 中的下拉参数
【发布时间】:2014-10-23 07:55:42
【问题描述】:

我正在尝试为 ssrs 中由“,”分隔的参数传递多个值。使用存储过程中使用拆分函数的 where 条件限制结果数据集,这给了我报告数据集的结果

WHERE YEAR(a.month_start_date)IN (SELECT Value FROM dbo.FnSplit(@year,','))
--AND datename(month,month_start_date) IN (SELECT Value FROM dbo.FnSplit(@month,','))
AND b1.branch_cd IN (SELECT Value FROM dbo.FnSplit(@branch,','))

我创建了一个数据集来获取年份过滤器的可用值

配置参数以从我的过滤器数据集中获取可用值,并选中“允许多个值”选项

Select distinct year(month_start_date) as Year
From [DB].[dbo].[table]

然后我还限制我的报告数据集接受具有以下条件的参数。我将参数配置为接受以下值

=Join(Parameters!year.Value,",")

我在 url 中传递值

http://<servername>/ReportServer/Pages/ReportViewer.aspx?<reportname>rs:Command=Render&year=2012,2013,2014

我的过滤器不选择通过 url 传递的值。该报告仅向我显示下拉列表中的值列表,但未选择通过 url 解析的值

我不确定我是否遗漏了其他任何内容。请提出建议。

谢谢!

【问题讨论】:

    标签: reporting-services


    【解决方案1】:

    这里的问题是您的 URL 构造不正确。您正试图将这些年作为单个参数传递,但这不是它的工作原理。将其作为一整堆参数传递,然后让报告服务器将其组合在一起并放入 SQL 中。

    您的 URL 应该如下所示(我将 : 更改为 %3a 并分解了 year 参数)

    http://<servername>/ReportServer/Pages/ReportViewer.aspx?<reportname>rs%3aCommand=Render&year=2012&year=2013&year=2014
    

    我希望这对某人有所帮助。

    【讨论】:

      最近更新 更多