Reporting services 报表生成器,提示过滤器,如何忽略过滤器?
我正在看2005年的报告生成器。我知道我可以提示一个过滤器,这样用户就可以自己过滤数据了。但是如果他们不想要呢? 如何将过滤器设置为可选。所以他们要么看到一切,要么使用过滤器Reporting services 报表生成器,提示过滤器,如何忽略过滤器?,reporting-services,reportingservices-2005,reportbuilder,Reporting Services,Reportingservices 2005,Reportbuilder,我正在看2005年的报告生成器。我知道我可以提示一个过滤器,这样用户就可以自己过滤数据了。但是如果他们不想要呢? 如何将过滤器设置为可选。所以他们要么看到一切,要么使用过滤器 现在我只能有一个过滤过的报告。首先,您必须为所有参数设置默认值。对于数值参数,它可以是0,对于varchar,它可以是NULL或空字符串。对于多值参数,我认为只包括所有可用值。 假设您有报告参数: UserIDParam,int,默认值0 UserNameParam,varchar,默认值NULL UserRelatedI
现在我只能有一个过滤过的报告。首先,您必须为所有参数设置默认值。对于数值参数,它可以是0,对于varchar,它可以是NULL或空字符串。对于多值参数,我认为只包括所有可用值。 假设您有报告参数:
UserIDParam,int,默认值0
UserNameParam,varchar,默认值NULL
UserRelatedIDList,多值int,默认值(0,1,2,3,4)
然后在查询中,您只需在过滤器中使用千个参数:
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)))
见现在默认情况下,过滤器不会过滤掉任何数据。
您还可以在报表查看器中隐藏报表参数区域。如果使用ReportViewer或使用URL提供对报告的访问,则可以配置工具栏、参数和其他报告设置:
http://servername/reportserver?/YourReportName&rs:Command=Render&rs:Format=HTML4.0&rc:Parameters=false
将参数设置为:true-将显示参数面板,
false-将隐藏参数面板,
折叠-将隐藏参数面板,但最终用户可以进行切换。
看