我正在查看2005年的报告生成器。我知道我可以提示过滤器,以便用户可以自行过滤数据。但是如果他们不想要那样呢? 如何设置可选的过滤器。所以无论他们看到了一切还是他们使用了过滤器。Report Builder,提示过滤器,如何忽略过滤器?
现在我只能有一个过滤的报告。
我正在查看2005年的报告生成器。我知道我可以提示过滤器,以便用户可以自行过滤数据。但是如果他们不想要那样呢? 如何设置可选的过滤器。所以无论他们看到了一切还是他们使用了过滤器。Report Builder,提示过滤器,如何忽略过滤器?
现在我只能有一个过滤的报告。
冷杉,你必须设置所有参数的默认值。对于数字参数,它可以是0,对于varchar - NULL或空字符串。对于多值参数,我会说只包含所有可用的值。 因此,可以说你有报告PARAMS:
UserIDParam,INT,默认值为0
UserNameParam,VARCHAR,默认值为NULL
UserRelatedIDList,多值INT,默认值(0,1,2,3,4)
然后在查询您只需要使用thouse PARAMS滤镜:
SELECT U.ID, U.Name, U.Phone, U.Adress, RU.ID, RU.Name, RU.Phone, RU.Adress
FROM Users U
LEFT JOIN RelatedUsers RU ON U.ID = R.UserID
LEFT JOIN Users ON R R.RelatedUserID = ON RU.ID
WHERE ((ISNULL(@UserIDParam, 0) = 0) OR (U.ID = @UserIDParam)) AND
((ISNULL(@UserNameParam, '') = '') OR (U.Name = @UserNameParam)) AND
((0 IN (@UserRelatedIDList) AND R.UserID IS NULL) OR
(R.UserID IN (@UserRelatedIDList)))
见Chris Hays's Reporting Services Sleazy Hacks Weblog - "All" Parameter Value
Chris Hays's Reporting Services Sleazy Hacks Weblog - "All" Parameter Value Redux
SQLCenral Forum - Default Parameter Value in the Reporting Services
现在默认过滤器不会过滤掉任何数据。
您还可以做的是在报告查看器中隐藏报告参数区域。如果您提供访问与的ReportViewer,或使用URL您的报告,您可以配置工具栏,参数和其他报告设置:
http://servername/reportserver?/YourReportName&rs:Command=Render&rs:Format=HTML4.0&rc:Parameters=false
设置参数到:
真 - 将显示参数面板,
false - 将隐藏参数面板,
折叠 - 将隐藏参数面板,但可以由最终用户切换。
请参阅Using URL Access Parameters