我正在查看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