2014-12-03 3 views
0

У меня есть отчет SSRS, который фильтрует элементы на основе того, является ли его Тип I (Item) или A (Accessories). В настоящее время это параметр multi select, где я указал значения. Но я хотел бы изменить это единый выбор-умелым значение со следующими значениями:Параметр для фильтрации в предложении where SSRS

  • Всероссийских Предметов и аксессуары
  • I - Предметы
  • A - Аксессуары
  • E - Предметы исключить категорию а и D Продукты

можно ли иметь заявления случае условие в пределах, где положение, как следующее:

WHERE 
(CASE WHEN @Pram1 IN ('A') THEN ('I,'A') 
     WHEN @Pram1 IN ('I') THEN ('I') 
     WHEN @Pram1 IN ('E') THEN ('I') 
ELSE 
-1 END) 

THEN основываясь на этом, у меня будут условия для категорий. ЕСЛИ его «А», тогда он будет включать все категории. IF 'E', то все из параметра категории, который также является множественным, но не включает в себя категорию A.

+1

Можете ли вы предоставить образцы данных и желаемые результаты? – sgeddes

ответ

0

Вы не можете просто написать инструкцию case, как указано в OP. Тем не менее вы можете применить фильтр SQL с помощью шаблона, такого как:

SELECT * 
FROM yourProductsTable p 
WHERE 
--Apply the "type" filters 
(
    (
     @TypeParam = 'All' --then include both Items and Accessories 
     AND p.ProductType in ('I','A') 
    ) 
    OR 
    (
     @TypeParam = 'A' --Accessories only 
     AND p.ProductType = 'A' 
    ) 
    OR 
    (
     @TypeParam = 'I' --Items only 
     AND p.ProductType = 'I' 
    ) 
    OR 
    (
     @TypeParam = 'E' --Items only, but Exclude Category A and Product D 
     AND p.ProductType = 'I' 
     AND p.Category <> 'A' 
     AND p.Product <> 'D' 
    ) 
) 
--Apply Other filters: i.e. category 
AND p.Category in (@SSRSCategoryMultiSelectParam) 
+0

Это не сработало для меня. По какой-то странной причине. : S – user2684009

+0

Эй .... в основном есть элементы в категории, и я хочу фильтровать элементы в состоянии ИЛИ, чтобы включить некоторые элементы из подкатегории. Например, когда @ TypePram = 'E', я хочу, чтобы он не включал элементы в определенную подкатегорию минус два элемента. Я пробовал этот фильтр, но затем результаты были пустыми: S. Не могли бы вы помочь! – user2684009

+0

Ответ, который я дал, - это общий шаблон, который может быть применен на основе того, что можно было бы вывести из вашего вопроса. Если вы хотите получить конкретный ответ, обновите свой вопрос и добавьте образцы данных и ожидаемые результаты для каждого сценария. – BateTech

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