SSRS 在 Report Manager 内部和外部强制参数

SSRS Forcing the parameter inside and outside Report Manager

这对我来说是一个心灵熔炉:

情景: 我在报表管理器中有一份报表,该报表也有订阅。在未结订单字段中,已要求如果单击它,则应钻取到未结销售订单报告,其中包含与这些未结订单相关的特定产品 class。因此,我创建了报表钻取操作以使用 product class 参数打开报表。当然,在 Report Manager 内部没有问题,并且可以像宣传的那样工作。但是订阅会发出一个 excel 电子表格,当您单击相同的未结订单字段时,它会出现 404 错误。

所以我花了一些时间研究,并决定将执行钻取的操作切换到 URL,因为我至少可以让未结销售订单报告以默认参数显示(如果我只需指向报告本身)。如何在参数中编码以从电子表格中提取产品 class 参数?我已经尝试了以下 URL 的许多变体,但到目前为止没有任何效果,并且不能硬编码,因为有许多产品 class 可供选择...

http://myreportyplace:5765/Reports/Pages/Report.aspx?ItemPath=%2fSales%2fOpen+Sales+Orders&ProductClass=Fields!product_Class.value

我知道这是 Fields!product_Class.value 的问题...我是否必须强制它查看 excel 中的单元格并且它仍然可以在 Report Manager 中工作?

对于您的表达式,您需要将 link 作为文本并将字段添加 ( & ) 到字符串中。

="http://myreportyplace:5765/Reports/Pages/Report.aspx?ItemPath=%2fSales%2fOpen+Sales+Orders&ProductClass=" & Fields!product_Class.value

好的,继续搜索后我在这里找到了答案:Passing parameter via url to sql server reporting service

原来@snyderj 给出的答案解决了我将 Reports/Pages/Report.aspx 替换为 ReportServer?/Sales/Open Sales Orders 并在引用所有内容后包括值的问题(感谢@Hannover Fist)。所以我让它工作的最终答案是: ="http://myreportyplace/ReportServer?/Sales/Open Sales Orders&ProductClass=" &Fields!product_Class.value