Фильтрация, группирование и сортировка данных (построитель отчетов версии 3.0 и службы SSRS)

В отчете выражения служат для управления, организации и сортировки данных отчетов. По умолчанию по мере создания наборов данных и разработки макета отчета свойства элементов отчета задаются автоматически выражениями, исходя из полей набора данных, параметров и других элементов, появляющихся на панели «Данные отчета». Можно также добавить кнопку интерактивной сортировки к таблице или ячейке матрицы, чтобы пользователь мог в интерактивном режиме изменять порядок сортировки рядов для групп или строк внутри групп.

  • Критерии фильтров   Критерий фильтра проверяет данные на предмет их включения или исключения исходя из указанного сравнения. Фильтры применяются к данным в отчете после извлечения данных из подключения к данным. К следующим элементам можно добавлять любые сочетания фильтров: общее определение набора данных на сервере отчетов; общий экземпляр набора данных или внедренный в отчет набор данных; область данных, например таблица или диаграмма; группа областей данных, например группа строк в таблице или группа категорий в диаграмме.

  • Выражения группы. Выражение группы организует данные на основе определенного поля набора данных или другого значения. Выражения группирования создаются автоматически по мере разработки макета отчета. Обработчик отчета вычисляет выражения группы после применения фильтров к данным по мере объединения данных отчета и областей данных. Выражение группы можно изменить после его создания.

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

  • Интерактивная сортировка. Чтобы позволить пользователю сортировать или изменять порядок сортировки столбца, можно добавить кнопку интерактивной сортировки к заголовку столбца или к ячейке заголовка группы в таблице или матрице.

Чтобы пользователи могли изменять критерии фильтров, выражения группирования или сортировки, можно изменить выражение и добавить ссылку на параметр отчета. Дополнительные сведения см. в разделе Параметры (построитель отчетов версии 3.0 и службы SSRS).

Дополнительные сведения и примеры см. в следующих разделах:

ПримечаниеПримечание

В построителе отчетов и в конструкторе отчетов среды Business Intelligence Development Studio можно создавать и изменять определения отчета (RDL). В каждой среде разработки существуют различные способы создания, открытия и сохранения отчетов и связанных элементов. Дополнительные сведения см. в разделе Разработка отчетов в построителе отчетов и конструкторе отчетов 3.0 (SSRS) на веб-сайте microsoft.com.

В данной статье

Фильтрация данных в отчете

Группирование данных в отчете

Сортировка данных в отчете

Добавление интерактивной сортировки для пользователя

Инструкции

В этом разделе

См. также

Фильтрация данных в отчете

Фильтры — это части отчета, которые позволяют управлять данными отчета после их извлечения из подключения к данным. Используйте фильтры, если невозможно изменить запрос к набору данных для фильтрации данных до их извлечения из внешнего источника данных.

Когда это возможно, создавайте запросы для наборов данных, которые будут возвращать только те данные, которые нужно отобразить в отчете. При уменьшении количества данных, которые необходимо извлечь и обработать, повышается эффективность отчета. Дополнительные сведения см. в разделе Создание и добавление наборов данных (построитель отчетов 3.0 и службы SSRS).

После извлечения данных из внешнего источника данных можно добавить фильтры к наборам данных, областям данных и группам областей данных, включая группы сведений. Фильтры применяются во время выполнения вначале для набора данных, затем для области данных и группы в нисходящем порядке для иерархий групп. В таблице, матрице и списке фильтры для групп строк, групп столбцов и смежных групп применяются независимо друг от друга. В диаграмме фильтры для групп категорий и групп рядов применяются независимо друг от друга. Дополнительные сведения см. в разделе Добавление фильтров набора данных, фильтров области данных и групповых фильтров (построитель отчетов версии 3.0 и службы SSRS).

Для каждого фильтра указывается уравнение фильтра. Уравнение фильтра включает поле набора данных или выражение, которое указывает данные, подлежащие фильтрации, оператор и значение для сравнения. Только те значения данных, которые удовлетворяют условию фильтра, включаются при обработке элемента.

Чтобы пользователи могли управлять данными в отчете, можно включить параметры в критерии фильтров. Дополнительные сведения см. в разделе Использование ссылок на коллекцию параметров (построитель отчетов версии 3.0 и службы SSRS).

Чтобы изменять представление для каждого пользователя, можно добавить ссылку на встроенное поле UserID в фильтре. Дополнительные сведения см. в разделе Использование встроенных глобальных значений и ссылок на пользователей (построитель отчетов версии 3.0 и службы SSRS).

Значок стрелки, используемый со ссылкой «В начало»В начало

Группирование данных в отчете

Группы организуют данные в отчете для отображения или вычисления агрегатных значений. Понимание определения и использования функций групп поможет создавать более компактные отчеты.

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

  • Организация полей наборов данных в таблице, матрице, мастере диаграмм или сопоставление полей в мастере макета.

  • В таблице, матрице или списке добавление поля в область «Группы строк» или «Группы столбцов» при помощи панели «Группирование».

  • В диаграмме добавление поля в область «Группы категорий» или «Группы строк» при помощи панели «Данные диаграммы».

  • На схеме указание поля, которое должно соответствовать элементам схемы с аналитическими данными в элементе контекстного меню «Данные слоя».

Группа — это часть определения отчета. У каждой группы есть имя. По умолчанию имя группы ― это поле набора данных, на котором оно основывается.

В области данных таблицы или матрицы можно создать несколько групп столбцов или строк. Можно отобразить данные в определенной визуальной иерархии, организуя вложенные группы, смежные группы и группы рекурсивной иерархии (например, с помощью организационной диаграммы).

Имя группы идентифицирует область выражения. Можно указать имя группы как область, в которой будет происходить вычисление агрегатных значений, организация данных иерархическим способом, переключение отображения дочерних узлов от родительских узлов в отчете с углубленной детализацией, отображение различных представлений одних и тех же данных в нескольких областях данных и отображение сводных данных в таблице, матрице, диаграмме, датчике или схеме. Дополнительные сведения см. в разделе Общие сведения об области выражений для суммирования, агрегатных функций и встроенных коллекций (построитель отчетов версии 3.0 и службы SSRS).

Чтобы обеспечить группирование по нескольким полям набора данных, необходимо добавить каждое поле к набору выражений группы. Можно также написать собственные выражения группы в Microsoft Visual Basic. Например, можно провести группирование по диапазону значений или применить параметр отчета, чтобы дать возможность пользователю выбрать способ группирования данных в области данных. Дополнительные сведения см. в разделе Примеры выражений групп (построитель отчетов 3.0 и службы SSRS).

Для представления отчета можно добавлять разрывы страниц до и после каждой группы или каждого экземпляра группы, чтобы уменьшить объем данных на странице и облегчить управление производительностью при подготовке к просмотру отчета. Дополнительные сведения см. в разделе Как добавить разрыв страницы (построитель отчетов версии 3.0 и службы SSRS).

Создание групп областей данных — это один из способов организации данных в отчете. Существует несколько других способов организации данных, у каждого из которых есть свои преимущества. Дополнительные сведения см. в разделе Детализация, углубленная детализация, вложенные отчеты и вложенные области данных (построитель отчетов версии 3.0 и службы SSRS).

Определение групповых переменных

При определении группы можно создать переменную группы, которая будет использоваться в выражениях, связанных с группой и доступных из вложенных групп. Групповая переменная вычисляется один раз для каждого экземпляра группы, она доступна из выражений в дочерних группах. Например, для данных, группируемых в области и подобласти, можно вычислить налог для каждой области и использовать этот налог в вычислениях из группы подобласти.

Дополнительные сведения см. в разделах Использование ссылок на коллекции Variables отчета и группы (построитель отчетов версии 3.0 и службы SSRS) и Общие сведения об области выражений для суммирования, агрегатных функций и встроенных коллекций (построитель отчетов версии 3.0 и службы SSRS).

Группы и область в областях данных

Для создания нескольких представлений данных из одного и того же набора данных можно задать одни и те же выражения группы для каждой области данных. Например, можно отобразить данные по категориям в таблице, чтобы показать все данные с подробностями, и в круговой диаграмме, чтобы показать обобщенные данные, а также показать каждую категорию относительно всего набора данных. Дополнительные сведения см. в разделе Связывание нескольких областей данных с одним набором данных (построитель отчетов версии 3.0 и службы SSRS).

При вложении области данных в ячейку в таблице, матрице или списке данные автоматически @@связываются с ближайшими членами ячейки. Например, предположим, что в ячейку, которая является элементом группы строк и группы столбцов, добавляется диаграмма. Областью действия этой диаграммы во время выполнения будет ближайший экземпляр группы строк и ближайший экземпляр группы столбцов. Дополнительные сведения см. в разделе Общие сведения об области выражений для суммирования, агрегатных функций и встроенных коллекций (построитель отчетов версии 3.0 и службы SSRS).

Значок стрелки, используемый со ссылкой «В начало»В начало

Сортировка данных в отчете

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

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

Для выражений, которые содержат агрегатные функции, порядок сортировки не влияет на большинство результатов. Порядок сортировки влияет на возвращаемые значения для следующих агрегатных функций: First, Last и Previous. Дополнительные сведения см. в разделе Справочник по агрегатным функциям (построитель отчетов версии 3.0 и службы SSRS).

Сортировка данных в запросе к набору данных

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

Для типа источника данных Microsoft SQL Server в запрос к набору данных можно добавить предложение ORDER BY. Например, в следующем запросе Transact-SQL выполняется сортировка столбцов Sales и Region по значениям Sales в нисходящем порядке в таблице SalesOrders: SELECT Sales, Region FROM SalesOrders ORDER BY Sales DESC. Дополнительные сведения см. в разделе «Сортировка строк при помощи предложения ORDER BY»электронной документации по SQL Server.

ПримечаниеПримечание

Не все источники данных поддерживают указание порядка сортировки в запросе.

Сортировка данных с помощью выражения сортировки

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

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

  • Группа областей данных табликса. Задав выражения сортировки для каждой группы, включая группу подробных данных, можно управлять порядком сортировки экземпляров групп. Например для группы подробных данных можно управлять порядком строк подробных данных. Для дочерней группы внутри родительской группы можно управлять порядком экземпляров групп. По умолчанию при создании группы выражение сортировки устанавливается в выражение группы в восходящей порядке.

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

  • Область данных диаграммы. Задав выражение сортировки для групп категорий и рядов, можно управлять порядком сортировки точек данных. По умолчанию порядок точек данных также является порядком цветов в условных обозначения диаграммы. Дополнительные сведения см. в разделе Форматирование цветов рядов на диаграмме (построитель отчетов версии 3.0 и службы SSRS).

  • Элемент отчета-карты. Как правило сортировка данных для области данных схемы не требуется, поскольку схема группирует данные для отображения на элементах схемы.

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

Сортировка по другому значению

Может потребоваться сортировка строк в области данных по значению, отличному от значения поля. Предположим, что поле Size содержит текстовые значения, которые соответствуют значениям «маленький», «средний», «большой» и «очень большой». По умолчанию выражение сортировки для группы строк, основанной на поле «Размер», равно полю [Размер]. Чтобы было удобнее управлять сортировкой, можно добавить поле в запрос для набора данных, которое будет определять необходимый порядок сортировки.

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

Например, предположим, что следующий запрос Transact-SQL определяет набор данных с именем Size. В запросе используется инструкция CASE для определения значения порядка сортировки SizeSortOrder для каждого значения Size:

SELECT Size, 
  CASE Size
        WHEN 'S' THEN 1
        WHEN 'M' THEN 2  
        WHEN 'L' THEN 3
        WHEN 'XL' THEN 4
        ELSE 0
  END as SizeSortOrder
FROM Production.Product

В таблице, в которой имеется группа строк, основанная на значении [Size], можно изменить выражение сортировки группы и включить использование функции поиска для нахождения числового поля, соответствующего значению размера. Выражение будет похоже на следующее:

=Lookup(Fields!Size.Value, Fields!Size.Value, Fields!SizeSortOrder.Value, "Sizes")

Дополнительные сведения см. в разделах Как сортировать данные в области данных (построитель отчетов версии 3.0 и службы SSRS) и Функция Lookup (построитель отчетов версии 3.0 и службы SSRS).

Добавление интерактивной сортировки для пользователя

Чтобы пользователь мог изменять порядок сортировки данных отчета в таблице или матрице, можно добавить кнопки интерактивной сортировки к заголовкам столбцов или групп. Нажав эту кнопку, пользователи смогут переключать порядок сортировки. Интерактивная сортировка поддерживается в форматах представления, которые допускают взаимодействие с пользователем, таких как HTML.

Кнопки интерактивной сортировки добавляются в текстовое поле в ячейке области данных табликса. По умолчанию в каждой ячейке есть текстовое поле. В свойствах текстового поля указывается часть области данных таблицы или матрицы для сортировки (значения родительской группы, значения дочерней группы или строки подробных данных), по каким значениям будет проводиться сортировка и следует ли применять выражение сортировки к другим элементам отчета с одноуровневой связью. Например, если таблица и диаграмма с представлениями, основанными на одном наборе данных, заключены в прямоугольник, они являются одноуровневыми областями данных. Когда пользователь изменяет порядок сортировки в таблице, порядок сортировки в диаграмме также меняется. Дополнительные сведения см. в разделе Интерактивная сортировка (построитель отчетов версии 3.0 и службы SSRS).

Значок стрелки, используемый со ссылкой «В начало»В начало

Инструкции

Как сохранить заголовки видимыми при прокрутке отчета (построитель отчетов версии 3.0 и службы SSRS)

Как отобразить верхние и нижние колонтитулы в группе (построитель отчетов версии 3.0 и службы SSRS)

Как добавить интерактивную сортировку в таблицу или матрицу (построитель отчетов версии 3.0 и службы SSRS)

Как задать сообщение об отсутствии данных для области данных (построитель отчетов версии 3.0 и службы SSRS)

Как создать группу рекурсивной иерархии (построитель отчетов версии 3.0 и службы SSRS)

Как добавить или удалить группу в области данных (построитель отчетов версии 3.0 и службы SSRS)

Как отобразить верхние и нижние колонтитулы в группе (построитель отчетов версии 3.0 и службы SSRS)

Как добавить или удалить группу в диаграмме (построитель отчетов версии 3.0 и службы SSRS)

Как добавить итоги в группу или область данных табликса (построитель отчетов версии 3.0 и службы SSRS)

См. также

Основные сведения о группах (построитель отчетов версии 3.0 и службы SSRS)

Создание групп рекурсивной иерархии (построитель отчетов версии 3.0 и службы SSRS)

Общие сведения об области выражений для суммирования, агрегатных функций и встроенных коллекций (построитель отчетов версии 3.0 и службы SSRS)

Использование ссылок на коллекции Variables отчета и группы (построитель отчетов версии 3.0 и службы SSRS)

Отображение на диаграмме ряда с несколькими диапазонами данных (построитель отчетов версии 3.0 и службы SSRS)

Связывание нескольких областей данных с одним набором данных (построитель отчетов версии 3.0 и службы SSRS)