Добавление фильтров набора данных, фильтров области данных и групповых фильтров (построитель отчетов версии 3.0 и службы SSRS)
В отчете фильтр является частью набора данных, области данных или группы области данных, созданной для ограничения объема данных, используемых в отчете. Фильтры могут быть использованы для управления данными отчета в случае, когда невозможно изменить запрос к набору данных, например, при использовании общего набора данных.
Фильтры помогают управлять данными, которые отображаются и обрабатываются в отчете. Фильтры можно указывать для набора данных, области данных или для группы в любом сочетании.
Дополнительные сведения см. в разделах Как добавить фильтр к набору данных (построитель отчетов 3.0 и службы SSRS) и Примеры уравнений фильтра (построитель отчетов 3.0 и службы SSRS).
Примечание |
---|
В построителе отчетов и в конструкторе отчетов среды Business Intelligence Development Studio можно создавать и изменять определения отчета (RDL). В каждой среде разработки существуют различные способы создания, открытия и сохранения отчетов и связанных элементов. Дополнительные сведения см. в разделе Разработка отчетов в построителе отчетов и конструкторе отчетов 3.0 (SSRS) на веб-сайте microsoft.com. |
Выбор места установки фильтра
Фильтры для элементов отчета указываются, если невозможно отфильтровать данные в источнике данных. Например, фильтры отчета используются, если источник данных не поддерживает параметры запроса, или необходимо выполнить хранимые процедуры и поэтому нельзя изменить запрос, или моментальный снимок параметризованного отчета отображает настроенные данные для разных пользователей.
Можно фильтровать данные отчета до или после их получения для набора данных отчета. Чтобы фильтровать данные до их получения, нужно изменить запрос для каждого набора данных. При фильтрации данных с помощью запроса они фильтруются в источнике данных, снижая количество данных, получаемое и обрабатываемое отчетом. Чтобы фильтровать данные после их получения, нужно создать критерии фильтра в отчете. Критерии фильтра можно применить к набору, области данных или группе, в том числе к группе сведений. В критерии фильтра можно включать параметры. Это позволяет фильтровать данные для конкретных значений или конкретных пользователей. Можно, например, провести фильтрацию по значению, определяющему пользователя, который просматривает отчет.
Выбор места установки фильтра
Место установки фильтра определяется результатами, которые необходимо получить с помощью отчета. Во время выполнения обработчик запросов применяет фильтры в следующем порядке: для набора данных, затем для области данных и групп в нисходящем порядке во всех иерархиях групп. В таблице, матрице и списке фильтры для групп строк, групп столбцов и смежных групп применяются независимо друг от друга. В диаграмме фильтры для групп категорий и групп рядов применяются независимо друг от друга. Когда обработчик отчетов применяет фильтр, все уравнения фильтра применяются в том порядке, в котором они определяются на странице Фильтр диалогового окна Свойства для каждого элемента отчета, что равносильно их объединению с помощью логических операций «И».
В следующем списке сравниваются результаты установки фильтров для разных элементов отчета.
Для набора данных. Фильтр устанавливается для набора данных, если нужно одинаковым способом отфильтровать одну или несколько областей данных, привязанных к одному набору данных. Например, установите фильтр для набора данных, привязанного как к таблице с данными продаж, так и к диаграмме, отображающей эти данные.
Для области данных. Фильтр устанавливается для области данных, если необходимо, чтобы одна или несколько областей данных, привязанных к одному набору данных, обеспечивали разное представление этого набора данных. Например, можно установить фильтр для одной табличной области данных, чтобы отобразить десять лучших магазинов по продажам, и для другой табличной области данных, чтобы отобразить десять худших магазинов в одном отчете.
Для группы строк или столбцов в области данных табликса. Фильтр устанавливается для группы, если нужно включить или исключить определенные значения для выражения группы с тем, чтобы управлять отображением значений в таблице, матрице или списке.
Для группы сведений в области данных табликса. Фильтр устанавливается для группы сведений, если для одной области данных существует несколько групп сведений и в каждой группе сведений должно отображаться разное подмножество данных из одного набора данных.
Для группы рядов или категорий в диаграммной области данных. Фильтр устанавливается для группы рядов или категорий, если нужно включить или исключить определенные значения для выражения группы, чтобы управлять отображением значений на диаграмме.
В начало
Основные сведения об уравнении фильтра
Во время выполнения обработчик отчетов преобразует значение в указанный тип данных и использует заданный оператор для сравнения выражения и значения. В следующем списке описывается каждая часть уравнения фильтра.
Выражение. Определяет объект фильтрации. Обычно это поле набора данных.
Тип данных. Указывает тип данных, который нужно использовать, когда обработчик запросов оценивает уравнение фильтра во время выполнения. Выбранный тип данных должен поддерживаться схемой определения отчета.
Оператор. Определяет метод сравнения двух частей уравнения фильтра.
Значение. Определяет выражение, которое используется в сравнении.
В следующих разделах описывается каждая часть уравнения фильтра.
Выражение
Когда во время выполнения обработчик отчетов оценивает уравнение фильтра, типы данных выражения и значения должны быть одинаковыми. Тип данных поля, выбранного для части Выражение, определяется модулем обработки данных или поставщиком данных, который используется для получения данных из источника данных. Тип данных выражения, которое вводится для части Значение, определяется значениями по умолчанию служб Службы Reporting Services. Выбор типа данных зависит от типов данных, поддерживаемых определением отчета. Значения из базы данных могут быть преобразованы поставщиком данных в тип CLR.
Тип данных
Чтобы обработчик отчетов мог сравнивать типы данных, они должны быть одинаковыми. В следующей таблице приводится список сопоставлений типов данных CLR с типами данных определения отчета. Данные, получаемые из источника данных, могут быть преобразованы в тип данных, отличающийся по времени от данных отчета.
Тип данных схемы определения отчета |
Типы CLR |
---|---|
Boolean |
Boolean |
DateTime |
DateTime, DateTimeOffset |
Integer |
Int16, Int32, UInt16, Byte, SByte |
Float |
Single, Double, Decimal |
Text |
String, Char, GUID, Timespan |
Если необходимо указать тип данных, можно указать собственное преобразование в части Value выражения.
Оператор
В следующей таблице приводится список операторов, которые можно использовать в уравнении фильтра и которые обработчик отчетов применяет для его оценки.
Оператор |
Действие |
---|---|
Equal, Like, NotEqual, GreaterThan, GreaterThanOrEqual, LessThan, LessThanOrEqual |
Сравнивает выражение с одним значением. |
TopN, BottomN |
Сравнивает выражение с одним значением типа Integer. |
TopPercent, BottomPercent |
Сравнивает выражение с одним значением типа Integer или Float. |
Between |
Проверяет, лежит ли выражение в диапазоне двух значений включительно. |
In |
Проверяет, содержится ли выражение в наборе значений. |
Значение
Выражение части Value указывает конечную часть уравнения фильтра. Обработчик отчетов преобразует оцененное выражение в указанный тип данных и затем оценивает все уравнение фильтра, чтобы определить, проходят ли через фильтр данные, указанные в части «Выражение».
Чтобы преобразовать тип данных, отличающийся от стандартного типа CLR, необходимо изменить выражение, чтобы оно явно преобразовывало этот тип данных. Для этого можно использовать функции преобразования в диалоговом окне Выражения в разделе Общие функции, Преобразование. Например, для поля ListPrice, представляющего данные, которые хранятся как тип данных money в источнике данных SQL Server, модуль обработки данных возвращает значение поля как тип данных System..::..Decimal. Чтобы установить фильтр, который использовал бы только значения больше $50000,00 в валюте отчета, преобразуйте значение в десятичное с помощью выражения =CDec(50000.00).
Это значение также включает ссылку на параметр, чтобы дать пользователю возможность выбрать значение фильтрации в интерактивном режиме.
В начало