Во-первых, вы должны установить значения по умолчанию для всех ваших параметров. Для числовых параметров это может быть 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)))
См. Веб-блог Sleazy Hacks Reporting Services Криса Хейса - Значение параметра «Все»
Веб-журнал Sleazy Hacks Chrisis Hays Reporting Services - значение параметра «Все» Redux
SQLCenral Forum - значение параметра по умолчанию в службах Reporting Services
Теперь по умолчанию фильтры не будут отфильтровывать данные.
Вы также можете скрыть область параметров отчета в средстве просмотра отчетов. Если вы предоставляете доступ к своим отчетам с помощью ReportViewer или URL-адреса, вы можете настроить Панель инструментов , Параметры и другие параметры отчета:
http://servername/reportserver?/YourReportName&rs:Command=Render&rs:Format=HTML4.0&rc:Parameters=false
Настройка Параметры до:
true - покажет панель параметров,
false - скрывает панель параметров,
Свернутый - скрывает панель параметров, но может быть переключен конечным пользователем.
См. Использование параметров доступа к URL