Интерактивная сортировка в отчете с разбивкой на страницы (построитель отчетов)

Область применения: ✔️ Построитель отчетов Microsoft (SSRS) ✔️ Построитель отчетов Power BI ✔️ Конструктор отчетов в SQL Server Data Tools

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

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

Примечание

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

При добавлении средств интерактивной сортировки необходимо указывать следующие элементы:

  • Что сортировать. Строки или столбцы?

  • По каким критериям сортировать. По полю, которое отображается в столбце таблицы? По неотображаемому полю?

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

  • К какому текстовому полю добавить кнопку сортировки. В заголовке столбца или в заголовке группы строк?

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

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

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

Действие Что сортировать Где размещать кнопку сортировки По каким критериям выполнять сортировку Область сортировки
Сортировка строк с подробными сведениями из таблицы, не содержащей групп Сведения Заголовок столбца Поле набора данных, привязанное к этому столбцу Область данных
Сортировка групп высшего уровня для матрицы Группы Заголовок столбца Выражение группирования для родительской группы Область данных
Сортировка строк с подробными сведениями для дочерней группы в таблице Сведения Строка заголовка дочерней группы Поле набора данных, по которому выполняется сортировка Дочерняя группа
Сортировка строк для групп из нескольких строк и строк с подробными сведениями в таблице Группы, но необходимо переопределить выражение группирования Заголовок столбца Значение поля набора данных, по которому выполняется сортировка Область данных
Синхронизация порядка сортировки для нескольких областей данных Группы Обычно заголовок столбца Выражение группы Dataset

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

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

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

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

См. также:

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