我有一个报告(称之为报告A),它只使用User!UserId为该人生成适当的数据。这非常有效。
要求该功能能够根据底层存储过程中的安全性,通过报告A查看其他人的数据。我更新了报告A以包含一个新参数EmployeeId,并创建了一个新的前端屏幕报告,该报告具有“转到报告”操作,并传递了EmployeeId。如果用户有权查看数据,则Stored Proc同时接受UserId和EmployeeId,并返回所请求员工的数据。这也很有效。
我将EmployeeId参数设置为隐藏,默认值为null。这是为了允许直接来到报告A的任何人能够像他们习惯的那样运行他们的数据(没有模仿)。从BIDS内部运行,它可以工作,但是一旦我发布到SharePoint,我得到:
“报告缺少参数值,但提示已禁用该参数值。”
我显然不想提示参数,在这种情况下,value应为null。 SharePoint集成模式是否不允许隐藏和空参数?
答案 0 :(得分:2)
在带有Sharepoint的SSRS 2008中,您需要在URL中传递的每个参数前缀为“rp:”。例如:URL ... / RSViewerPage.aspx?rv:RelativeReportUrl = / TestReports / Orders.rdl& rs:Command = Render& rp:CLordID = 1324381
答案 1 :(得分:1)
从this MSDN page开始,您可能需要显式覆盖参数值,以便在包含该报告的库/文件夹的“管理参数”对话框中将其设置为空。