Awk*_*der 40 parameters url reporting reportingservices-2005 reporting-services
我正在尝试通过URL将参数传递给SSRS,它似乎无法正常工作!
我正在尝试通过url传递userId(字符串),该url将传递给数据库并由查询使用.
base url: http://blah/Reports/Pages/Report.aspx?ItemPath = MyReport
试过这个,但它不起作用: http://blah/Reports/Pages/Report.aspx?ItemPath = MyReport&UserId = fred
有任何想法吗
sny*_*erj 54
我有同样的问题和更多,虽然这个线程是旧的,它仍然是一个很好的,所以总结为SSRS 2008R2我发现...
情况
操作
如果适用,请务必将Report/Pages/Report.aspx?ItemPath =替换为ReportServer?.换句话说:而不是:
http://server/Reports/Pages/Report.aspx?ItemPath=/ReportFolder/ReportSubfolder/ReportName
Run Code Online (Sandbox Code Playgroud)
使用以下语法:
http://server/ReportServer?/ReportFolder/ReportSubfolder/ReportName
Run Code Online (Sandbox Code Playgroud)
将参数添加到报表并设置为隐藏(如果允许用户操作,则可见,但请记住,虽然报表参数将更改,但URL 不会根据更新的条目更改).
使用&ParameterName = Value将参数附加到URL
使用@ParameterName可以在报告中引用或显示参数,无论它们是在报告中还是在URL中设置的
要隐藏显示参数的工具栏,请在URL中添加&rc:Toolbar = false(参考)
将所有内容放在一起,您可以运行带有嵌入值的URL,或者将其作为一个操作从一个报表中调用,并由另一个报表读取:
http://server.domain.com/ReportServer?/ReportFolder1/ReportSubfolder1/ReportName&UserID=ABC123&rc:Toolbar=false
Run Code Online (Sandbox Code Playgroud)
在报表数据集属性中查询:SELECT stuff FROM view WHERE User = @UserID
在报表中,将表达式值设置为[UserID](或= Fields!UserID.Value)
请记住,如果报表包含多个参数,则可能需要在URL中包含所有参数,即使是空白也是如此,具体取决于数据集查询的编写方式.
要使用Action = Go to URL传递参数,请将表达式设置为:
="http://server.domain.com/ReportServer?/ReportFolder1/ReportSubfolder1/ReportName&UserID="
&Fields!UserID.Value
&"&rc:Toolbar=false"
&"&rs:ClearSession=True"
Run Code Online (Sandbox Code Playgroud)
请确保在表达式后面有空格,如果后跟&(换行符不够).表达式之前不需要空格.此方法可以传递参数但不会隐藏它,因为它在URL中可见.
如果未包含&rs:ClearSession = True,则在清除浏览器会话高速缓存之前,报告不会刷新.
使用Action = Go to report传递参数:
作为参考,/ =%2f
Moz*_*ozy 46
除了Shiraz所说的,尝试这样的事情:
http://<server>/ReportServer/Pages/ReportViewer.aspx?%2f<path>%2f<ReportName>&rs:Command=Render&UserID='fred'
Run Code Online (Sandbox Code Playgroud)
请注意,只有在单个文件夹中时,路径才有效.当我必须这样做时,我只需使用reportserver路径浏览报告("reports"是报告管理器)并复制url然后添加&<ParameterName>=<value>到结尾.
小智 8
我自己刚刚解决了这个问题.我在MSDN上找到了解决方案:http: //msdn.microsoft.com/en-us/library/ms155391.aspx.
格式基本上是
http://<server>/reportserver?/<path>/<report>&rs:Command=Render&<parameter>=<value>
Run Code Online (Sandbox Code Playgroud)