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


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

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

rs_CreateMatixReportTutorial

Улучшенная версия отчета, который будет создан в этом учебнике, доступна в качестве образца отчета в построителе отчетов SQL Server 2012. Дополнительные сведения о загрузке этого и других образцов отчетов см. в разделе Образцы отчетов построителя отчетов.

Обзор учебника

В этом учебнике рассматривается следующее.

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

  2. Организация данных, выбор макета и стиля в мастере новой таблицы или матрицы

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

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

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

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

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

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

Другие дополнительные шаги

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

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

Требования

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

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

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

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

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

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

  1. Нажмите кнопку Пуск, наведите курсор на пункты Все программы, Построитель отчетов Microsoft SQL Server 2012 и выберите пункт Построитель отчетов.

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

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

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

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

  4. На странице Выбор набора данных выберите Создать набор данных.

  5. Нажмите кнопку Далее.

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

  7. Нажмите кнопку Далее.

  8. На странице Проектирование запроса нажмите кнопку Изменить как текст.

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

    SELECT CAST('2009-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('2009-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('2009-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('2009-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('2009-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('2009-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('2009-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('2009-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('2009-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('2009-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('2009-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('2009-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('2009-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('2009-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('2009-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('2009-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('2009-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('2009-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('2009-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('2009-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('2009-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('2009-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('2009-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('2009-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('2009-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('2009-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('2009-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('2009-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('2009-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('2009-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. Нажмите кнопку Далее.

2.Организация данных, выбор макета и стиля в мастере новой таблицы или матрицы

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

Разбиение данных по группам и выбор макета и стиля

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

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

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

  3. Перетащите поле Subcategory в область Группы столбцов.

  4. Перетащите поле Product в область Группы столбцов и поместите ниже поля Subcategory.

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

    Шаги 3 и 4 организуют значения полей сначала по подкатегории, а затем по продукту.

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

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

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

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

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

  7. Нажмите кнопку Далее.

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

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

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

  11. Нажмите кнопку Далее.

  12. На странице «Выбор стиля» панели «Стили» выберите Сланец.

  13. Нажмите кнопку Готово.

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

  14. Нажмите кнопку Выполнить для предварительного просмотра отчета.

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

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

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

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

  1. Щелкните Конструктор для переключения в режим конструктора.

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

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

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

  4. Щелкните ячейку, содержащую [SalesDate].

  5. В группе Число из раскрывающегося списка выберите Date.

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

  6. Нажмите кнопку Выполнить для предварительного просмотра отчета.

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

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

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

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

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

  1. Щелкните Конструктор для возврата в режим конструктора.

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

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

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

    Новая группа столбцов будет добавлена слева от группы столбцов Subcategory.

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

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

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

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

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

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

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

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

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

  11. Нажмите кнопку Выполнить для предварительного просмотра отчета.

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

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

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

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

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

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

  1. Щелкните Конструктор для возврата в режим конструктора.

  2. Выделите текст в крайнем левом столбце Quantity и введите QTY.

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

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

  4. Щелкните матрицу, чтобы сбоку и сверху от нее появились маркеры строк и столбцов.

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

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

    Ширина столбца 1/2 дюйма достаточна для отображения количества.

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

  7. Нажмите кнопку Выполнить для предварительного просмотра отчета.

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

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

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

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

  1. Щелкните Конструктор для возврата в режим конструктора.

  2. Щелкните матрицу, чтобы сбоку и сверху от нее появились маркеры строк и столбцов.

  3. Нажмите клавишу Ctrl, а затем выберите четыре угловые ячейки.

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

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

  6. Перейдите на вкладку Заливка.

  7. Нажмите кнопку (fx) для параметра Цвет заливки.

  8. Скопируйте и вставьте следующее выражение в поле «Выражение».

    #96a4b2
    

    Это шестнадцатеричное значение RGB для синевато-серого цвета, используемого в стиле «Сланец».

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

  10. Нажмите кнопку Выполнить для предварительного просмотра отчета.

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

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

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

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

  1. Щелкните Конструктор для возврата в режим конструктора.

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

  3. На вкладке ленты Вставка выберите Верхний колонтитул, а затем выберите Добавить верхний колонтитул.

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

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

  5. В текстовом поле введите Продажи по областям, подкатегориям и дням.

  6. Выделите введенный текст, щелкните его правой кнопкой мыши и выберите пункт Свойства текста.

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

    Чтобы можно было отформатировать символы одновременно, они должны быть смежными.

  7. В диалоговом окне Свойства текста нажмите кнопку Шрифт.

  8. В списке Шрифт выберите Times New Roman, в списке Размер выберите 16 пт, в списке Цвет выберите Каштановый, а в Стиль выберите Курсив.

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

  10. Нажмите кнопку Выполнить для предварительного просмотра отчета.

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

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

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

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

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

  1. Нажмите кнопку Построитель отчетов и выберите Сохранить как.

  2. Нажмите кнопку Последние сайты и серверы.

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

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

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

  5. Нажмите кнопку Сохранить.

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

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

  1. Нажмите кнопку Построитель отчетов и выберите Сохранить как.

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

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

  4. Нажмите кнопку Сохранить.

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

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

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

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

  1. Щелкните Конструктор для возврата в режим конструктора.

  2. Щелкните ячейку, содержащую [Territory].

  3. На панели «Свойства» найдите свойство WritingMode и в его раскрывающемся списке выберите Поворот на 270 градусов.

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

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

  5. Измените размер столбца Territory, установив ширину 1/2 дюйма, и удалите заголовок столбца.

  6. Нажмите кнопку Выполнить для предварительного просмотра отчета.

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

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

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

См. также

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

Приступая к работе с построителем отчетов

Другие ресурсы

Учебники (построитель отчетов)