Sql Reporting Services Параметр Вопрос - PullRequest
1 голос
/ 01 октября 2009

Я новичок в SQL Reporting Services 2008 и не могу понять, как сделать что-то простое.

У меня есть один параметр выбора, который заполняется списком продавца из запроса. Это прекрасно работает. И у меня есть запрос набора данных, отвечающий на этот параметр, работающий хорошо. Так что мои отчеты для одного продавца работают нормально.

Моя проблема в том, что я также хотел бы иметь опцию ALL Salesman, чтобы менеджер мог распечатать полный список.

Любые предложения о том, как это сделать.

Ответы [ 2 ]

3 голосов
/ 01 октября 2009

Я обычно ОБЪЕДИНЯЮ ВСЕ пользовательское значение вверху моего запроса со специальным значением, которое указывало бы на мой более поздний запрос, что оно не должно фильтроваться.

Для этого я обычно использую NULL, 0 или '%'.

Что-то вроде:

SELECT 0 [UserId], '(All Users)' [Username]
UNION ALL
SELECT
    [UserId],
    [Username]
FROM
    dbo.[Users]

А затем, в последующем запросе:

SELECT * FROM Data WHERE (UserID = @UserID OR @UserID = 0)
1 голос
/ 01 октября 2009

Ваш запрос продавца, вероятно, выглядит следующим образом:

SELECT SalesPersonName FROM SalesPerson ORDER BY SalesPersonName ASC

Вы должны изменить это на:

SELECT 1 as SortOrder, SalesPersonName FROM SalesPerson
UNION SELECT 0 as SortOrder, 'All' ORDER BY SortOrder, SalesPersonName

Теперь ваш запрос вернется:

All
Adam
Barry
Steve
...

Теперь, когда вы извлекаете данные для отчета, вы можете сделать:

ГДЕ (SalesPersonName = @SalesPersonName ИЛИ @ SalesPersonName = 'All')

И убедитесь, что вы установили значение по умолчанию «Все», если этого хочет ваш менеджер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...