Руководство. Создание матрицного отчета (построитель отчетов)

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

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

Screenshot of a Report Builder matrix report.

Предполагаемое время для выполнения заданий данного учебника: 20 минут

Requirements

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

1. Создание матрицного отчета и набора данных из новой таблицы или мастера матрицы

В этом разделе вы выберете общий источник данных, создадите внедренный набор данных и отобразите данные в матрице.

Примечание.

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

Создание матрицы

  1. Запустите построитель отчетов на компьютере, веб-портале Служб Reporting Services или в режиме интеграции с SharePoint.

    Откроется диалоговое окно Создать отчет или набор данных .

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

  2. Убедитесь, что на левой панели выбран Новый отчет .

  3. На панели справа выберите Мастер таблицы или матрицы.

  4. На странице "Выбор набора данных" нажмите кнопку "Создать набор данных".

  5. Выберите Далее.

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

  7. Выберите Далее.

  8. На странице "Конструктор запроса" выберите "Изменить как текст".

  9. Скопируйте и вставьте на панели запросов следующий запрос:

    SELECT CAST('2015-01-05' AS date) as SalesDate, 'Central' as Territory, 'Accessories' as Subcategory,'Carrying Case' as Product, CAST(16996.60 AS money) AS Sales, 68 as Quantity  
    UNION SELECT CAST('2015-01-05' AS date) as SalesDate, 'North' as Territory, 'Accessories' as Subcategory, 'Carrying Case' as Product, CAST(13747.25 AS money) AS Sales, 55 as Quantity  
    UNION SELECT CAST('2015-01-05' AS date) as SalesDate, 'South' as Territory, 'Accessories' as Subcategory,'Carrying Case' as Product, CAST(9248.15 AS money) As Sales, 37 as Quantity  
    UNION SELECT CAST('2015-01-05' AS date) as SalesDate, 'Central' as Territory, 'Accessories' as Subcategory,'Tripod' as Product, CAST(1350.00 AS money) AS Sales, 18 as Quantity  
    UNION SELECT CAST('2015-01-05' AS date) as SalesDate, 'North' as Territory, 'Accessories' as Subcategory,'Tripod' as Product, CAST(1800.00 AS money) AS Sales, 24 as Quantity  
    UNION SELECT CAST('2015-01-05' AS date) as SalesDate, 'South' as Territory, 'Accessories' as Subcategory,'Tripod' as Product, CAST(1125.00 AS money) AS Sales, 15 as Quantity  
    UNION SELECT CAST('2015-01-05' AS date) as SalesDate, 'Central' as Territory, 'Accessories' as Subcategory,'Lens Adapter' as Product, CAST(1147.50 AS money) AS Sales, 17 as Quantity  
    UNION SELECT CAST('2015-01-05' AS date) as SalesDate, 'North' as Territory, 'Accessories' as Subcategory,  'Lens Adapter' as Product, CAST(742.50 AS money) AS Sales, 11 as Quantity  
    UNION SELECT CAST('2015-01-05' AS date) as SalesDate, 'South' as Territory, 'Accessories' as Subcategory,'Lens Adapter' as Product, CAST(1417.50 AS money) AS Sales, 21 as Quantity  
    UNION SELECT CAST('2015-01-06' AS date) as SalesDate, 'Central' as Territory, 'Accessories' as Subcategory, 'Carrying Case' as Product, CAST(13497.30 AS money) AS Sales, 54 as Quantity  
    UNION SELECT CAST('2015-01-06' AS date) as SalesDate, 'North' as Territory, 'Accessories' as Subcategory, 'Carrying Case' as Product, CAST(11997.60 AS money) AS Sales, 48 as Quantity  
    UNION SELECT CAST('2015-01-06' AS date) as SalesDate, 'South' as Territory, 'Accessories' as Subcategory, 'Carrying Case' as Product, CAST(10247.95 AS money) As Sales, 41 as Quantity  
    UNION SELECT CAST('2015-01-06' AS date) as SalesDate, 'Central' as Territory, 'Accessories' as Subcategory, 'Tripod' as Product, CAST(1200.00 AS money) AS Sales, 16 as Quantity  
    UNION SELECT CAST('2015-01-06' AS date) as SalesDate, 'North' as Territory, 'Accessories' as Subcategory,'Tripod' as Product, CAST(2025.00 AS money) AS Sales, 27 as Quantity  
    UNION SELECT CAST('2015-01-06' AS date) as SalesDate, 'South' as Territory, 'Accessories' as Subcategory,'Tripod' as Product, CAST(1425.00 AS money) AS Sales, 19 as Quantity  
    UNION SELECT CAST('2015-01-06' AS date) as SalesDate, 'Central' as Territory, 'Accessories' as Subcategory,'Lens Adapter' as Product, CAST(887.50 AS money) AS Sales, 13 as Quantity  
    UNION SELECT CAST('2015-01-06' AS date) as SalesDate, 'North' as Territory, 'Accessories' as Subcategory, 'Lens Adapter' as Product, CAST(607.50 AS money) AS Sales, 9 as Quantity  
    UNION SELECT CAST('2015-01-06' AS date) as SalesDate, 'South' as Territory, 'Accessories' as Subcategory,'Lens Adapter' as Product, CAST(1215.00 AS money) AS Sales, 18 as Quantity  
    UNION SELECT CAST('2015-01-05' AS date) as SalesDate,  'Central' as Territory, 'Digital' as Subcategory,'Compact Digital' as Product, CAST(10191.00 AS money) AS Sales, 79 as Quantity  
    UNION SELECT CAST('2015-01-05' AS date) as SalesDate,  'North' as Territory, 'Digital' as Subcategory, 'Compact Digital' as Product, CAST(8772.00 AS money) AS Sales, 68 as Quantity  
    UNION SELECT CAST('2015-01-05' AS date) as SalesDate,  'South' as Territory, 'Digital' as Subcategory, 'Compact Digital' as Product, CAST(10578.00 AS money) AS Sales, 82 as Quantity  
    UNION SELECT CAST('2015-01-05' AS date) as SalesDate, 'Central' as Territory,'Digital' as Subcategory, 'Slim Digital' as Product, CAST(7218.10 AS money) AS Sales, 38 as Quantity  
    UNION SELECT CAST('2015-01-05' AS date) as SalesDate, 'North' as Territory,'Digital' as Subcategory, 'Slim Digital' as Product, CAST(8357.80 AS money) AS Sales, 44 as Quantity  
    UNION SELECT CAST('2015-01-05' AS date) as SalesDate, 'South' as Territory,'Digital' as Subcategory,'Slim Digital' as Product, CAST(9307.55 AS money) AS Sales, 49 as Quantity  
    UNION SELECT CAST('2015-01-06' AS date) as SalesDate,  'Central' as Territory, 'Digital' as Subcategory,'Compact Digital' as Product, CAST(3870.00 AS money) AS Sales, 30 as Quantity  
    UNION SELECT CAST('2015-01-06' AS date) as SalesDate,  'North' as Territory, 'Digital' as Subcategory,'Compact Digital' as Product, CAST(5805.00 AS money) AS Sales, 45 as Quantity  
    UNION SELECT CAST('2015-01-06' AS date) as SalesDate,  'South' as Territory, 'Digital' as Subcategory, 'Compact Digital' as Product, CAST(8643.00 AS money) AS Sales, 67 as Quantity  
    UNION SELECT CAST('2015-01-06' AS date) as SalesDate, 'Central' as Territory, 'Digital' as Subcategory, 'Slim Digital' as Product, CAST(9877.40 AS money) AS Sales, 52 as Quantity  
    UNION SELECT CAST('2015-01-06' AS date) as SalesDate, 'North' as Territory, 'Digital' as Subcategory, 'Slim Digital' as Product, CAST(12536.70 AS money) AS Sales, 66 as Quantity  
    UNION SELECT CAST('2015-01-06' AS date) as SalesDate, 'South' as Territory, 'Digital' as Subcategory, 'Slim Digital' as Product, CAST(6648.25 AS money) AS Sales, 35 as Quantity  
    
  10. (необязательно) Щелкните значок запуска (!), чтобы запустить запрос и просмотреть данные.

  11. Выберите Далее.

2. Упорядочение данных и выбор макета из новой таблицы или мастера матрицы

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

  1. На странице Размещение полей перетащите поле "Территория" из области Доступные поля в область Группы строк.

  2. Перетащите SalesDate в группы строк и поместите его после территории.

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

  3. Перетащите поле "Подкатегория" в область Группы столбцов.

  4. Перетащите продукт в группы столбцов и поместите его после подкатегории.

    Порядок, в котором поля перечислены в области Группы столбцов , определяет иерархию группы. Шаги 3 и 4 организуют значения полей сначала по подкатегории, а затем по продукту.

  5. Перетащите поле "Продажи" в область Значения.

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

  6. Перетащите поле "Количество" в область Значения.

    Сводные значения для поля Quantity вычисляются с помощью функции Sum.

    Шаги 5 и 6 задают данные, отображаемые в ячейках данных матрицы.

    Screenshot that shows the Report Builder arrange fields Report Wizard.

  7. Выберите Далее.

  8. Убедитесь в том, что на странице "Выбор макета" в области Параметрывыбран параметр Показывать подытоги и общие итоги .

  9. Убедитесь в том, что выбран параметр Заблокированный, подытог ниже .

  10. Убедитесь в том, что установлен флажок Развернуть или свернуть группы .

  11. Выберите Далее.

  12. Выберите Готово.

    Матрица добавляется в область конструктора. Панель «Группы строк» показывает две группы строк: Territory и SalesDate. Панель «Группы столбцов» отображает две группы столбцов: Subcategory и Product. Подробные данные — это все данные, полученные запросом набора данных.

    Screenshot that shows the Report Builder Row Groups and Column Groups.

  13. Выберите "Запустить ", чтобы просмотреть отчет.

    Для каждого продукта, проданного за указанную дату, в матрице отображается подкатегория, к которой принадлежит продукт, и территория продаж.

  14. Разверните подкатегорию. Отчет можно быстро расширить.

Screenshot that shows an expanded Report Builder matrix report.

3. Форматирование данных

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

Форматирование полей

  1. Выберите "Конструктор", чтобы перейти к представлению конструктора.

  2. Нажмите клавишу Ctrl, а затем выберите девять ячеек, содержащих [Sum(Sales)].

  3. На вкладке Главная выберите >Число>Валюта. Ячейки изменятся, отображая содержимое в формате валюты.

    Если в качестве региональных настроек компьютера выбран "Английский (США)", текстом по умолчанию образца будет [$12,345.00]. Если в группе чисел не отображается пример значения валюты, выберите "Примеры стилей заполнителей>".

    Screenshot of the Report Builder Sample Values option.

  4. Выберите ячейку, содержащую [SalesDate].

  5. В группе "Число" перейдите к дате.

    В ячейке будет содержаться пример даты [1/31/2000]. Если вы не видите пример даты, выберите "Стили заполнителей " в группе "Числа" и выберите " Примеры значений".

  6. Выберите "Запустить " для предварительного просмотра отчета.

Значения дат отображают только даты, а значения продаж представлены в денежном формате.

4. Добавление соседней группы столбцов

Можно внедрить группы строк и столбцов в связи "родители-потомки", а смежные группы — в одноранговые связи.

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

Добавление соседней группы столбцов

  1. Выберите конструктор , чтобы вернуться к представлению конструктора.

  2. Щелкните правой кнопкой мыши ячейку, содержащую [Subcategory], выберите пункт "Добавить группу" и выберите "Смежный справа".

    Откроется диалоговое окно Группа табликсов .

  3. В списке "Группа по группе" выберите SalesDate и нажмите кнопку "ОК".

    Новая группа столбцов будет добавлена справа от группы столбцов "Подкатегория".

  4. Щелкните правой кнопкой мыши ячейку в новой группе столбцов, содержащей [SalesDate], и выберите выражение.

  5. В поле выражения скопируйте приведенное ниже выражение.

    =WeekdayName(DatePart("w",Fields!SalesDate.Value))  
    

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

  6. Щелкните правой кнопкой мыши ячейку в группе столбцов подкатегории, содержащей итог, и выберите " Копировать".

  7. Щелкните правой кнопкой мыши ячейку сразу под ячейкой, содержащей выражение, созданное на шаге 5, и выберите " Вставить".

  8. Нажмите клавишу Ctrl.

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

  10. Вставьте четыре ячейки в четыре пустые ячейки в новой группе столбцов.

  11. Выберите "Запустить ", чтобы просмотреть отчет.

Отчет включает столбцы с именами Monday и Tuesday. Набор данных содержит данные только для этих двух дней.

Screenshot that shows weekdays displayed in the Report Builder matrix report.

Примечание.

Если бы данные охватывали другие дни, в отчет вошли бы столбцы и для них. Каждый столбец содержит заголовок Продажии итоги продаж по территории.

5. Изменение ширины столбцов

Отчет, содержащий матрицу, обычно расширяется горизонтально и вертикально при запуске. Управление горизонтальным расширением важно, если вы планируете экспортировать отчет в форматы, такие как Microsoft Word или Adobe PDF, которые используются для печатных отчетов. Если отчет расширяется по горизонтали на несколько страниц, то понять печатный отчет сложно. Чтобы уменьшить горизонтальное расширение, можно изменить размеры столбцов до ширины, необходимой для отображения данных без переносов. Можно также переименовать столбцы, чтобы их заголовки соответствовали ширине, необходимой для отображения данных.

Переименование и изменение размера столбцов

  1. Выберите конструктор , чтобы вернуться к представлению конструктора.

  2. Выделите текст в столбце "Количество" в левой части столбца, а затем введите QTY.

    Теперь заголовок столбца — "Кол-во".

  3. Повторите шаг 2 для двух других столбцов с именем "Количество".

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

    Серые линии, расположенные вдоль верха и стороны таблицы, — это маркеры столбцов и строк.

    Screenshot for the column and row handles in the Report Builder matrix report.

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

    Ширина столбца 0,5 дюйма достаточно для отображения количества.

  6. Повторите шаг 5 для других столбцов с именем QTY.

  7. Выберите "Запустить " для предварительного просмотра отчета.

Столбцы, содержащие количества, стали уже и теперь имеют имена "Кол-во".

6. Объединение ячеек матрицы

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

Объединение ячеек матрицы

  1. Выберите конструктор , чтобы вернуться к представлению конструктора.

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

  3. Нажмите клавишу CTRL и выделите четыре угловые ячейки.

  4. Щелкните ячейки правой кнопкой мыши и выберите "Объединить ячейки".

  5. Щелкните правой кнопкой мыши новую объединенную ячейку и выберите свойства текстового поля.

  6. На вкладке Граница выберите >Предустановки>Нет.

  7. Нажмите ОК.

  8. Выберите "Запустить " для предварительного просмотра отчета.

Ячейка в верхнем углу матрицы больше не видна.

7. Добавление заголовка отчета и заголовка отчета

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

Добавление заголовка отчета и заголовка отчета

  1. Выберите конструктор , чтобы вернуться к представлению конструктора.

  2. Щелкните в верхней части текста отчета поле, содержащее текст Щелкните, чтобы добавить заголовок, а затем нажмите клавишу DELETE.

  3. На вкладке "Вставка" перейдите к заголовку "Добавить заголовок>".

    Верхний колонтитул добавляется в верхнюю часть текста отчета.

  4. На вкладке "Вставка" выберите текстовое поле и перетащите текстовое поле в заголовок отчета. Установите длину текстового поля около 6 дюймов, а высоту 3/4 дюйма и поместите его в левой части верхнего колонтитула отчета.

  5. В текстовом поле введите sales by Territory, Subcategory и Day.

  6. Выберите введенный текст на вкладке "Главная">:

    • "Размер" — "24 пт".
    • "Цвет" — "Каштановый".
  7. Выберите "Запустить ", чтобы просмотреть отчет.

Отчет включает заголовок отчета в верхнем колонтитуле отчета.

8. Сохранение отчета

Отчеты можно сохранять на сервере отчетов, в библиотеке SharePoint или на компьютере.

В данном учебнике предусмотрено сохранение отчета на сервере отчетов. Если у вас нет доступа к серверу отчетов, сохраните отчет на компьютере.

Сохранение отчета на сервере отчетов

  1. В построитель отчетов нажмите кнопку "Сохранить как".

  2. Выберите последние сайты и серверы.

  3. Выберите или введите имя сервера отчетов, в котором у вас есть разрешение на сохранение отчетов.

    Появится сообщение «Соединение с сервером отчетов». После завершения подключения вы увидите содержимое папки отчета, указанной администратором сервера отчетов в качестве расположения отчета по умолчанию.

  4. В поле Имязамените имя по умолчанию на SalesByTerritorySubcategory.

  5. Выберите Сохранить.

Отчет будет сохранен на сервере отчетов. Имя сервера отчетов, к которому вы подключены, отображается в строке состояния в нижней части окна.

Сохранение отчета на компьютере

  1. В построитель отчетов нажмите кнопку "Сохранить как".

  2. Выберите "Рабочий стол", "Мои документы" или "Мой компьютер" и перейдите к папке, в которой вы хотите сохранить отчет.

  3. В поле Имязамените имя по умолчанию на SalesByTerritorySubcategory.

  4. Выберите Сохранить.

9. (Необязательно) Поворот текстового поля 270 градусов

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

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

Поворот текстового поля 270 градусов

  1. Выберите конструктор , чтобы вернуться к представлению конструктора.

  2. Выберите ячейку, содержащую [Territory].

    Примечание.

    Выделите ячейку, а не текст в ней. Свойство WritingMode доступно только для ячейки.

    Screenshot that shows the Territory cell in the Report Builder matrix report.

  3. Найдите свойство WritingMode на панели "Свойства" и измените его значение с По умолчанию на Rotate270.

    Если область свойств не открыта, выберите вкладку "Вид " ленты и выберите "Свойства".

  4. Убедитесь в том, что свойство CanGrow имеет значение True.

  5. На вкладке Главная в разделе >Абзац нажмите кнопки Середина и Центр для размещения текста по центру ячейки в горизонтальном и вертикальном направлениях.

  6. Измените размер столбца "Территория" на ширину 0,5 дюйма и удалите заголовок столбца.

  7. Выберите "Запустить " для предварительного просмотра отчета.

Название территории написано по вертикали, снизу вверх. Высота группы строк Territory изменяется в зависимости от длины названия территории.

Следующие шаги

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