Группирование данных в отчете
Изменения: 14 апреля 2006 г.
Данные в каждой из областей данных (таблица, матрица, список и диаграмма) можно сгруппировать с помощью полей и выражений. Для обеспечения логического секционирования данных внутри таблицы можно использовать группы внутри таблицы. Кроме того, к заголовку группы или ее нижнему колонтитулу можно добавить подытоги и другие выражения. Группы отображаются в матрице в виде динамических столбцов или строк. Группы можно вложить в другие группы и добавить подытоги. Для предоставления отдельных групп в отчете можно использовать списки либо поместить списки внутрь списков для вложенных групп.
Для просмотра инструкций о группировании данных в областях данных см. разделы:
- Как добавить группу в таблицу (конструктор отчетов)
- Как добавить динамический столбец или строку в матрицу (конструктор отчетов)
- Как добавить группу в список (конструктор отчетов)
Рекурсивная иерархия — это иерархия данных, в которой все связи типа «родители-потомки» представлены в данных. Например, организационная структура, отображающая связи менеджера и служащего, может быть создана с использованием рекурсивной иерархии. В такой иерархии таблица имела бы столбцы для идентификатора служащего и идентификатора менеджера. Идентификатор менеджера имел бы ссылку на идентификатор служащего, подчиненного другому служащему, что привело бы к отображению целой иерархии служащих.
Для создания рекурсивной иерархии необходимо установить определенные свойства для группы в области данных. Используйте область, содержащую уникальный идентификатор (например, идентификатор служащего) как выражение группы, а затем используйте область, содержащую идентификатор родительского элемента (например, идентификатор менеджера) в свойстве Parent. Группа, которая определена как рекурсивная иерархия (то есть группа, которая использует свойство Parent), может иметь только одно выражение группы.
Используйте следующий учебник для создания рекурсивной иерархии с помощью таблицы Employee базы данных AdventureWorks. В этом учебнике предполагается, что пользователь умеет создавать отчеты, наборы данных, запросы и таблицы. Дополнительные сведения об этих возможностях см. в соответствующей документации.
В представлении «Данные» создайте набор данных на основании базы данных AdventureWorks.
В наборе данных используйте следующий запрос:
SELECT FirstName, LastName, EmployeeID, ManagerID FROM HumanResources.Employee E INNER JOIN Person.Contact C ON E.ContactID=C.ContactID
В режиме разметки создайте область данных таблицы.
В первой ячейке сведений таблицы введите следующее выражение:
=Fields!FirstName.Value & " " & Fields!LastName.Value
Щелкните правой кнопкой мыши угол таблицы и выберите Свойства.
На вкладке Группа щелкните Группирование подробностей.
На вкладке Общие в поле Выражение введите или выберите следующее выражение:
=Fields!EmployeeID.Value
В поле Родительская группа введите или выберите следующее выражение:
=Fields!ManagerID.Value
Можно использовать функцию Level в дополнении текстового поля для выравнивания имен служащих на основе их уровней в иерархии. Чтобы сделать это в таблице из предыдущего примера, выберите текстовое поле в первой ячейке подробных сведений. Откройте окно свойств текстового поля. Разверните узел Заполнение и щелкните свойство Слева. Выберите пункт <Выражение…> в раскрывающемся списке и введите следующее:
=Convert.ToString(2 + (Level()*10)) + "pt"
Для всех дополнительных свойств необходимо указать строку в формате nnxx, где nn является числом, а xx — единицей измерения. По умолчанию дополнение для текстового поля равно 2pt. Приведенное выше выражение создает строку, в которой используется функция Level для увеличения размера дополнения на основе уровня. Например, строка с уровнем 1 приведет к дополнению 12 пунктов (2 + (1*10)), а строка с уровнем 3 — к дополнению 32 пунктов (2 + (3*10)).
Дополнительные сведения о функции Level см. в разделе Функция Level (службы Reporting Services).
Работа с областями данных
Работа с табличными областями данных
Работа с областями данных матрицы
Работа с областями списков данных
Работа с областями данных диаграммы
Получение помощи по SQL Server 2005
Версия | Журнал |
---|---|
14 апреля 2006 г. |
|