【问题标题】:Specify SSRS Report URL parameter with available values使用可用值指定 SSRS 报告 URL 参数
【发布时间】:2015-03-12 15:31:13
【问题描述】:

我在 SSRS 2012 (Native) 中有一个相对简单的报告,有 2 个报告参数。这两个都是 Text 类型的参数,并且有一个由 DataSets 提供的可用值列表。

我正在尝试通过 URL 访问此报告,并为这两个参数指定值。

我使用的 URL 格式为

http://<hostname>/ReportServer/Pages/ReportViewer.aspx?/<path_to_report>/<report_name>&<param1>=<value1>&<param2>=<value2>&rc:Parameters=false&rs:ClearSession=true

这会导致错误消息

“param1”参数缺少值

我已经确认我使用了正确的参数名称(不是提示名称)和值(不是显示值)。

如果我从报告定义中的参数中删除可用值,那么它可以按我的意愿工作,而无需更改 URL。这是不可取的,但理想情况下,报表将可以通过报表管理器访问,用户将看到可用的值,并且可以直接通过来自单独 Web 应用程序的 URL。

我在这里尝试实现的目标实际上是否可行,或者这是 URL 参数的限制?

【问题讨论】:

    标签: reporting-services


    【解决方案1】:

    出现此问题是因为您传递了&amp;rc:Parameters=false

    这会使报表在报表服务器中禁用参数。 如果你删除它,那么你会得到你的结果。

    http://<hostname>/ReportServer/Pages/ReportViewer.aspx?/<path_to_report>/<report_name>&<param1>=<value1>&<param2>=<value2>&rs:ClearSession=true  
    

    更新答案

    您的参数是存储数据集中的任何值还是空的? 如果是,那么您传递给参数的值可能不匹配。

    示例: 如果我的参数具有可用值“ABC”并且您在 url 中传递“abc”,那么它会抛出值丢失错误。

    要获得结果,您必须先创建&amp;rc:Parameters=true 并检查参数值是否已设置。

    那么你就照原样做&amp;rc:Parameters=false

    【讨论】:

    • 事实并非如此。如问题所述,从参数中删除可用值会导致 URL 正常工作,包括 rc:Parameters=false。这会从报表查看器中隐藏参数栏(使 URL 中必须包含参数),但不会完全禁用参数。省略 rc:Parameters=false(或将其设置为 true)只会启用参数下拉菜单,但不会导致 URL 中指定的值产生任何影响
    • URL 中的参数名称和值正确。但是,如果显示,它们不会更新下拉菜单中的选定值。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多