2016-11-14 2 views
0

У меня есть запрос, который классифицирует коды: если «ПК» возвращает «Совместимо», если Null затем возвращает Unclassified, если все остальное возвращает «Not-Compatible». Столбец псевдонимов - «Классификация».Параметр SSRS с одной меткой, но несколько значений

> SELECT CASE WHEN class.code IS NULL THEN 'Unclassified' 
> WHEN class.Code = 'PC' THEN 'Compatible' ELSE 'Not-Compatible' 
> END Classification, FROM classification class 

Теперь я хочу установить эту классификацию в качестве параметра в моем отчете SSRS.

WHERE class.Code LIKE @Classification 

Тогда в моем параметре @Classification Parameter Set up

Итак, в моем докладе, пользователю предлагается выбрать классификацию, как я могу получить пользователю выбрать «Все остальное», который возвращает «классифицировано»? Я не могу использовать имя псевдонима «Классификация» для получения значения. Если есть способ установить несколько значений в метку «Unclassified»?

+0

Я не совсем понимаю, но ... ваш параметр должен фильтровать на _result_ оператора case, который, по-видимому, может быть только одним из трех значений: Unclassified, Compatible, Not-Compatible. Итак, это все, что должно быть указано в столбце _Value_ плюс значение подстановочного знака (%) –

ответ

1

Вы можете построить эту логику в своем предложении WHERE. Сначала измените значение Non-Compatible на «NC». Тогда вы могли бы сделать что-то вроде этого:

WHERE (@Classification != 'NC' and class.Code LIKE @Classification) 
    OR (@Classification = 'NC' and class.Code != 'PC') 
1

Попробуйте изменить запрос, чтобы быть:

SELECT WhatEverColumnYouNeed 
FROM classification 
WHERE (CASE WHEN class.code IS NULL THEN 'Unclassified' 
      WHEN class.Code = 'PC' THEN 'Compatible' 
      ELSE 'Not-Compatible' END 
    ) 
     IN (@Classification) 

Затем сделать вас @Classification параметр многозначным. Установите доступное значение как неклассифицированное, совместимое и несовместимое. Значения аналогичны ярлыкам.

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