Бөлісу құралы:


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

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

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

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

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

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

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

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

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

Примечание.

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

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

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

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

После получения данных из внешнего источника данных можно добавить фильтры в:

  • Наборы данных.
  • Области данных.
  • Группы регионов данных, включая группы сведений.

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

Для каждого фильтра указывается уравнение фильтра. Уравнение фильтра включает три элемента:

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

При обработке элемента включаются только значения данных, соответствующие условию фильтра.

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

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

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

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

Выражения групп создаются автоматически при выполнении:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Примечание.

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

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

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

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

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

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

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

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

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

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

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

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

Например, допустим, что следующий запрос Transact-SQL определяет набор данных с именем Sizes. Запрос использует инструкцию 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  

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

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

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

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

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

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

Практические руководства