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

Применимо: Microsoft построитель отчетов (SSRS) Power BI построитель отчетов конструктор отчетов в SQL Server Data Tools

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

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

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

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

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

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

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

Примечание.

Создать и изменить определение для отчета на страницу (RDL-файл) можно с помощью построителя отчетов (Майкрософт), построителя отчетов Power BI и конструктора отчетов в SQL Server Data Tools.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Примечание.

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

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

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

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

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

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

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

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

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

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

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

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

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

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")  

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

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

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

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

Инструкции

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

Отображение верхних и нижних колонтитулов с группой (построитель отчетов и SSRS)

Добавление интерактивной сортировки в таблицу или матрицу (построитель отчетов и службы SSRS)

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

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

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

Отображение верхних и нижних колонтитулов с группой (построитель отчетов и SSRS)

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

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

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

Примеры выражений группы (построитель отчетов и службы SSRS)

Примеры уравнений фильтра (построитель отчетов и службы SSRS)

Добавление фильтров набора данных, фильтров регионов данных и групп (построитель отчетов и SSRS)

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

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

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

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

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

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

См. также

Выражения (построитель отчетов и службы SSRS)
Таблицы, матрицы и списки (построитель отчетов и службы SSRS)
Диаграммы (построитель отчетов и службы SSRS)
Карты (построитель отчетов и службы SSRS)
Спарклайны и гистограммы данных (построитель отчетов и службы SSRS)
Датчики (построитель отчетов и службы SSRS)
Индикаторы (построитель отчетов и службы SSRS)