Поделиться через


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

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

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

ПримечаниеПримечание

В построителе отчетов или конструкторе отчетов SQL Server Data Tools можно создавать и изменять определения отчета (RDL). В каждой среде разработки существуют различные способы создания, открытия и сохранения отчетов и связанных элементов. Дополнительные сведения см. в разделе Разработка отчетов в построителе отчетов и конструкторе отчетов (SSRS) на веб-сайте microsoft.com.

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

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

  2. Чтобы выбрать таблицу, щелкните правой кнопкой мыши в любой ее точке. Панель группирования отображает группу сведений для выбранной таблицы. На панели «Группы строк» щелкните правой кнопкой мыши группу Сведения и выберите пункт Изменить группу. Откроется диалоговое окно Свойства группы.

  3. Щелкните Добавить в области Выражения группирования. В сетке появится новая строка.

  4. В списке Группировать по введите или выберите поле для группирования.

  5. Перейдите на вкладку Дополнительно.

  6. В поле Рекурсивный родитель введите или выберите поле для группирования.

  7. Нажмите кнопку ОК.

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

Форматирование группы рекурсивной иерархии с помощью отступов

  1. Щелкните текстовое поле, содержащее поле, к которому нужно добавить уровни отступа для вывода формата иерархии. Свойства этого текстового поля отобразятся на панели «Свойства».

    ПримечаниеПримечание

    Если панель «Свойства» не отображается, щелкните Свойства на вкладке Вид.

  2. На панели свойств раскройте узел Отступ, щелкните Слева и выберите из раскрывающегося списка <Выражение>.

  3. На панели «Выражение» введите следующее выражение:

    =CStr(2 + (Level()*10)) + "pt"

    Для свойств Padding необходимо указать строку в формате nnyy, где nn — число, а yy — единица измерения. Приведенное выражение создает строку, в которой используется функция Level для увеличения отступа в зависимости от уровня рекурсии. Например, строка с уровнем 1 будет иметь отступ в 12 пунктов (2 + (1*10)), а строка с уровнем 3 — отступ в 32 пункта (2 + (3*10)). Дополнительные сведения о функции Level см. в разделе Level.

  4. Нажмите кнопку ОК.

    Запустите отчет. Отчет выведет группированные данные в иерархическом представлении.

См. также

Основные понятия

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

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

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

Таблицы (построитель отчетов и службы SSRS)

Матрицы (построитель отчетов и службы SSRS)

Списки (построитель отчетов и службы SSRS)

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