2017-01-10 12 views
0

У меня есть отчет SSRS, в котором используется дрель через подчиненный отчет. Подсчет используется 3 раза в основном отчете и принимает несколько параметров. В двух подзаголовках я установил один из параметров, SexAtBirth, используя статическое значение, Женский или Мужской. Вот снимок экрана параметра: enter image description hereКак установить параметр в подчиненном SSRS, который является статическим списком

Для 3 подотчета, я хочу, чтобы установить параметр SexAtBirth в Not Male or Female. В SQL это будет SexAtBirth NOT IN ('Female', 'Male')

Параметр SexAtBirth настроен для принятия нескольких значений.
Я не знаю, как создать выражение, чтобы НЕ включать статический список значений.

UPDATE Я пытаюсь создать статический список для значений и ошибки SexAtBirth parameter missing a value Я использую построитель отчетов 3.0 на SQL Server 2008 R2. Это то, что я пробовал: в списке:

"Female", "Male"

Female, Male

+0

Мое понимание - после того, как у вас есть параметр с несколькими значениями, он рассматривается как список или массив, который вы использовали бы в предложении IN(). Существуют ли только мужчины, женщины, неимущие или оба в SexAtBirth? Какой запрос работает в подзаголовке? Возможно, вы можете использовать аргумент Case в приложении Where. – Kevin

+0

Это мое ** где ** предложение: WHERE AgeRange = @AgeRange И SexatBirth NOT IN (@SexAtBirth) 'Я хотел бы создать строку, подобную этой:' Female, Male' –

+0

Когда я запускаю запрос в Query Designer , для параметра 'SexAtBirth' я могу ввести' Female', и он вернет только мужчину, который правильный и вводит 'Male', чтобы вернуть только самку. Но я хочу создать список «Женщина, мужчина» и вернуть его только неизвестным. –

ответ

0

я сделал что-то подобное, где я использовал активный каталог для фильтрации отчета (для администраторов за исключением). В этом примере @UserID было именем пользователя домена, которое происходит из сеанса браузера.

Where t.[Date] Between @DateFrom And @DateTo And 
(u.adsGuid = @UserID OR @UserID In (@UserAdmins)) 

Однако я по существу использовал другой параметр в SSRS для подачи ввода для другого параметра. Вероятно, здесь это не обязательно. Для удобства чтения и переместить мою голову подальше от обратной логики, я хотел бы попробовать что-то вроде ниже:

WHERE AgeRange = @AgeRange AND 
    Coalesce(SexAtBirth, '') = Case @SexAtBirth 
     When 'Male' Then 'Female' 
     When 'Female' Then 'Male' 
     Else Coalesce(SexAtBirth, '') End 

Это должно обрабатывать любой NULLs и обеспечить обратные результаты. Если @SexAtBirth - это всего лишь мужчина/женщина, дайте нам все остальное.

 Смежные вопросы

  • Нет связанных вопросов^_^