2013-04-02 4 views
0

Мне нужно установить параметр SSRS, чтобы он содержал несколько значений.Использование параметра списка в SSRS

В TSQL, я могу иметь пункт where что гласит:

where Attribute in ('Value1', 'Value', 'Value3') 

Что мне нужно в SSRS иметь:

where Attribute in (@Attribute) 

Где я получаю повесил трубку, как форматировать выражение параметра, так что SQL видит его как: 'Value1', 'Value', 'Value3'

Мне посчастливилось сделать предложение where взглянуть только на первое значение, но мне нужно, чтобы он смотрел на все 3. Как бы форматировать выражение для этого?

Я бы просто разрешил ему принимать несколько значений и проверять каждое значение по отдельности, но мне нужен выпадающий список, чтобы иметь группы. Таким образом, если пользователь выбирает GroupA, в предложении where используется: IN ('Value1', Value2'), и если пользователь выбирает GroupB, то предложение where использует другой список для IN.

Надеюсь, это просто вопрос правильного форматирования выражения.

ответ

1

Ну, если у вас не было требований к группам, это не будет проблемой, поскольку все, что вам нужно, - сделать ваш параметр многозначным, а в вашем запросе набора данных - WHERE Attribute in (@Attribute). Но учитывая это требование, единственный способ, о котором я могу думать, состоит в том, чтобы иметь два многозначных параметра: @Group и @Attribute. Вам нужно будет сделать @Attribute невидимым и создать набор данных для его заполнения. Это набор данных будет что-то вроде этого:

SELECT Attribute 
FROM Attributes 
WHERE Group IN (@Group) 

И создать еще один набор данных для данных отчета:

SELECT <all your data> 
FROM YourTable 
WHERE Attribute IN (@Attribute) 
+0

Я делаю это, и это, кажется, передавая правильные значения параметра, но отчет по-прежнему смотрит только на первое значение из списка. – user1873604

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