Как фильтровать набор данных в службах SQL Reporting Services в соответствии с параметром?

У меня есть нефильтрованный набор данных для работы, чтобы создать отчет (SQL Server 2005 btw).

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

знаете ли вы, как обращаться с этими фильтрами?

Я пробовал без удачи такие:

=Fields!Name.Value Like =Parameters!FilterName.Value

=Fields!Name.Value = = "%" + Parameters!FilterName.Value + "%"

Я хотел бы иметь возможность получить имена " foo " и "foobar", если я дайте параметр 'oo'

Edit: Я знаю, что фильтрация должна выполняться на стороне SQL server, но я не управляю данным набором данных (веб-сервис дает его с помощью метода без параметров), поэтому я должен фильтровать на стороне отчета.

5 ответов


я отвечаю на свой собственный вопрос, выражение фильтра на самом деле:

=Fields!Name.Value Like ="*"+ Parameters!FilterName.Value + "*"

т. е. использовать "*" вместо "%", на самом деле.


предпочтительной практикой является точное совпадение.

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

следующая ссылка может оказаться полезной.

http://msdn.microsoft.com/en-us/library/ms155917.aspx


Я бы предложил применить фильтр как часть инструкции SQL, которая выполняется для возврата набора данных вместо того, чтобы пытаться применить фильтры в отчете служб Reporting Services. Я думаю, что SQL Engine намного более оптимизирован для обработки этих типов фильтров / запросов.


ваш ответ вывел меня на правильный путь :)! Возможно, это отличается для SQL Server 2005; но для меня сработало следующее решение:

=Fields!AppName.Value    Like    ="*" & Parameters!FilterApplication.Value & "*"

перейдите к свойствам набора данных, перейдите на вкладку фильтр. в раскрывающемся списке выражение щелкните поле, по которому требуется отфильтровать (имя). выберите оператора и выберите как. в поле Значение выберите выражение. откроется новое окно. перейдите в список параметров и добавьте параметр в уравнение. нажимать OK.