Создание матрицы (построитель отчетов 3.0 и службы SSRS)Create a Matrix (Report Builder and SSRS)

Матрица используется для отображения сгруппированных данных и сводной информации.Use a matrix to display grouped data and summary information. Данные можно группировать по нескольким полям либо выражениям в группах строк и столбцов.You can group data by multiple fields or expressions in row and column groups. Матрицы обеспечивают функциональность, подобную перекрестным и сводным таблицам.Matrices provide functionality similar to crosstabs and pivot tables. Во время выполнения, по мере объединения данных отчета и областей данных матрица растет на странице в горизонтальном и вертикальном направлении.At run time, as the report data and data regions are combined, a matrix grows horizontally and vertically on the page. Значения в ячейках матрицы отображают статистические значения пересечения групп строк и столбцов, которым принадлежит ячейка.Values in matrix cells display aggregate values scoped to the intersection of the row and column groups to which the cell belongs. Строки и столбцы можно форматировать, чтобы выделить нужные данные.You can format the rows and columns to highlight the data you want to emphasize. Можно также включить переключатели детализации, которые по умолчанию скрывают подробные данные, чтобы пользователи могли по желанию отобразить подробные сведения.You can also include drilldown toggles that initially hide detail data; the user can then click the toggles to display more or less detail as needed.

После завершения проектирования можно продолжить разработку матрицы для улучшения условий просмотра пользователями.After your initial design, you can continue to develop a matrix to improve the viewing experience for the user. Дополнительные сведения см. в разделе Управление отображением области данных табликса на странице отчетов (построитель отчетов и службы SSRS).For more information, see Controlling the Tablix Data Region Display on a Report Page (Report Builder and SSRS).

Чтобы быстро приступить к работе с матрицами, см. Учебник. Создание матричного отчета (построитель отчетов).To quickly get started with matrices, see Tutorial: Creating a Matrix Report (Report Builder).

Примечание

Списки можно публиковать отдельно от отчета как элементы отчета.You can publish lists separately from a report as report parts. Дополнительные сведения см. в разделе Элементы отчета (построитель отчетов и службы SSRS).Read more about Report Parts (Report Builder and SSRS).

Добавление матрицы к отчетуAdding a Matrix to Your Report

Добавьте матрицу в область конструктора из вкладки «Вставка» на ленте.Add a matrix to the design surface from the Insert tab on the ribbon. Предусмотрена возможность добавить матрицу с использованием мастера «Таблица» или «Матрица», что включает создание соединения с источником данных и набора данных, а также настройку матрицы или добавление матрицы на основе шаблона матрицы.You have the option to add a matrix by using the Table or Matrix Wizard, which includes creating a data source connection and dataset, and configuring the matrix or adding a matrix based on the matrix template.

Примечание

Мастер доступен только в Построитель отчетов SQL Server для SQL Server 2012SQL Server Report Builder for SQL Server 2012.The wizard is available only in Построитель отчетов SQL Server для SQL Server 2012SQL Server Report Builder for SQL Server 2012.

В целях описания способа настройки таблицы от начала до конца в этом разделе используется шаблон матрицы.To describe how to configure a table from beginning to end, this topic uses the matrix template. Первоначально в матрице имеется группа строк, группа столбцов, угловая ячейка и ячейка данных, как показано на следующем рисунке.The matrix initially has a row group, a column group, a corner cell, and a data cell, as shown in the following figure.

Пустая матрица с 1 строкой и 1 группой столбцовBlank Matrix with 1 row and 1 column group

При выборе матрицы в области конструктора появляются маркеры строк и столбцов, как показано на следующем рисунке.When you select a matrix on the design surface, row and column handles appear, as shown in the following figure.

Элемент "Новая матрица" добавлен с панели элементов и выделенNew Matrix added from Toolbox, selected

Добавьте группу, перетащив поля набора данных в панель групп строк и групп столбцов в панель «Группирование».Add groups by dragging dataset fields to the Row Groups and Column Groups areas of the Grouping pane. Первое поле, которое перетаскивается на панель группы строк или столбцов, замещает первоначальную пустую группу по умолчанию.The first field that you drag to the row groups or column groups pane replaces the initial empty default group. Затем для каждой ячейки можно применить форматирование, в зависимости от содержащихся в ней данных.You can then apply formatting for each cell, depending on the data.

Матрица, строка категорий и группа столбцов географических объектовMatrix, Category row and Geography column group

В режиме просмотра матрица расширяется для отображения значений группы строк и группы столбцов.In Preview, the matrix expands to show the row group and column group values. В ячейках выводятся сводные значения, как показано на следующем рисунке.The cells display summary values, as shown in the following figure.

Предварительный просмотр обработанной матрицы с расширенными группамиPreview for rendered matrix with expanded groups

Первоначальная матрица является шаблоном на основе области данных табликса.The matrix you start with is a template based on the tablix data region. Можно продолжить разработку матрицы, добавив вложенные или смежные группы строк либо столбцов или даже строки подробностей.You can continue to develop your matrix design by adding nested or adjacent row groups or column groups, or even adding detail rows. Дополнительные сведения см. в разделе Изучение возможностей области данных табликса (построитель отчетов и службы SSRS).For more information, see Exploring the Flexibility of a Tablix Data Region (Report Builder and SSRS).

Добавление родительской или дочерней группы в матрицуAdding a Parent Group or Child Group to a Matrix

Чтобы добавить группу, основанную на одном поле набора данных, перетащите это поле из панели данных отчета на соответствующую панель группы строк или столбцов на панели группировки.To add a group based on a single dataset field, drag the field from the Report Data pane to the appropriate Row Groups or Column Groups area of the Grouping pane. Перетащите поле в иерархию группы, чтобы установить ее связь с существующими группами.Drop the field in the group hierarchy to set its relationship to existing groups. Перетащите поле в иерархию над существующей группой, чтобы создать родительскую группу, или ниже нее, чтобы создать дочернюю группу.Drop it above an existing group to create a parent group, or drop it below an existing group to create a child group.

При помещении поля на панель Группирование происходит следующее.Several things happen when you drop a field in the Grouping pane:

  • Автоматически создается новая группа с уникальным именем на основе имени поля.A new group with a unique name based on the field name is automatically created. Выражению группы присваивается значение простой ссылки на имя поля, например [Category].The group expression is set to the simple field name reference, for example [Category].

  • В области соответствующей группы строк или столбцов появится новая строка или столбец.A new row or column appears in the corresponding row group or column group area.

  • В новом столбце появится ячейка группы строк для строк данных по умолчанию из набора данных отчета.In the new column, a row group cell appears for the default data rows from the report dataset. Ячейки в теле табликса для этой строки теперь являются элементами группы строк.Cells in the tablix body for this row are now members of the row group. Если определена какая-либо группа столбцов, ячейки столбцов являются элементами этой группы столбов.If there are any column groups defined, cells that are in the columns are members of those column groups. Индикаторы групп визуально отображают членство в группе для каждой ячейки.Group indicators provide visual cues for the group membership of each cell.

Для настройки группы после ее создания, используется диалоговое окно Группа табликсов .To customize the group after it is created, use the Tablix Group dialog box. Можно переименовать группу, а также изменить или добавить дополнительные выражения к определению группы.You can change the group name, and edit or add additional expressions to the group definition. Сведения о добавлении и удалении строк в таблице см. в разделе Вставка или удаление строки (построитель отчетов и службы SSRS).To add or remove rows from the table, see Insert or Delete a Row (Report Builder and SSRS).

При выполнении отчета заголовки динамических столбцов расширяются вправо (или влево, если параметр матрицы Direction имеет значение RTL) на столько столбцов, сколько имеется уникальных значений групп.When the report runs, dynamic column headers expand right (or left, if the Direction property of the matrix is set to RTL) for as many columns as there are unique group values. Динамические строки расширяются по странице вниз.Dynamic rows expand down the page. Данные, отображающиеся в ячейках тела табликса, являются статистическими выражениями, основанными на пересечениях групп строк и столбцов, как показано на следующем рисунке.The data that appears in the tablix body cells are aggregates based on the intersections of row and column groups, as shown in the following figure.

Матрица, вложенные группы строк и столбцов с итогамиMatrix, nested row and column groups with totals

В режиме просмотра отчет отображается в том виде, в каком показан на следующем рисунке.In preview, the report displays as in the following figure.

Вложенные группы в режиме просмотраNested Groups in Preview

Чтобы записать выражение, задающее область, отличающуюся от области по умолчанию, необходимо указать имя набора данных, область данных или группу в агрегатной функции ALL.To write expressions that specify a scope other than the default scope, you must specify the name of a dataset, data region, or group in the aggregate function all. Чтобы вычислить процент значений каждой подкатегории в категории «Одежда», добавьте столбец в группу «Категория» рядом со столбцом Total, отформатируйте текстовое поле для отображения процентов и добавьте выражение, которое использует область по умолчанию в числителе и область группы категорий в знаменателе, как показано на следующем рисунке.To calculate the percentage each subcategory contributes to the Clothing category group values, add a column inside the Category group next to the Total column, format the text box to show percentage, and add an expression that uses the default scope in the numerator, and the Category group scope in the denominator, as shown in the following example.

=SUM(Fields!Linetotal.Value)/SUM(Fields! Linetotal.Value,"Category")

Дополнительные сведения см. в разделе Область выражения для суммирования, агрегатных функций и встроенных коллекций (построитель отчетов и службы SSRS).For more information, see Expression Scope for Totals, Aggregates, and Built-in Collections (Report Builder and SSRS).

Добавление смежной группы в матрицуAdding an Adjacent Group to a Matrix

Для добавления смежной группы, основанной на одном поле набора данных, используется контекстное меню панели группировки.To add an adjacent group based on a single dataset field, use the shortcut menu in the Grouping pane. Дополнительные сведения см. в разделе Добавление или удаление группы в области данных (построитель отчетов и службы SSRS).For more information, see Add or Delete a Group in a Data Region (Report Builder and SSRS). На следующем рисунке показана группа на основе географических данных и смежная группа на основе года.The following figure shows a group based on geography and an adjacent group based on year.

Смежные группы столбцов для Geography и YearAdjacent Column Groups for Geography and Year

В следующем примере запрос фильтрует данные, чтобы вернуть значения только для Европы и только для 2003 и 2004 годов.In this example, the query has filtered data values to only include those values for Europe and for the years 2003 and 2004. Тем не менее, фильтры можно установить независимо в каждой группе.However, you can set filters on each group independently. В режиме просмотра отчет отображается в том виде, в каком показан на следующем рисунке.In preview, the report displays as in the following figure.

Просмотр смежных групп столбцовPreview of adjacent column groups

Чтобы добавить общий столбец для каждой смежной группы, щелкните ячейку определения группы столбцов и выберите Добавить итог .To add a total column for an adjacent column group, click in the column group definition cell and use the Add Total command. Рядом группой столбцов появится новый статический столбец со статистическим выражением суммы по умолчанию для каждого числового поля в существующих строках.A new static column is added next to the column group, with a default aggregate sum for every numeric field in the existing rows. Чтобы изменить выражение, измените его вручную, например Avg([Sales]).To change the expression, manually edit the default aggregate, for example, Avg([Sales]). Дополнительные сведения см. в разделе Добавление итога в группу или область данных табликса (построитель отчетов и службы SSRS).For more information, see Add a Total to a Group or Tablix Data Region (Report Builder and SSRS).

См. также:See Also

Справочник по агрегатным функциям (построитель отчетов и службы SSRS) Aggregate Functions Reference (Report Builder and SSRS)
Примеры выражений (построитель отчетов и службы SSRS)Expression Examples (Report Builder and SSRS)