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


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

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

Отчет, отображающий данные в матрице

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

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

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

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

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

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

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

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

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

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

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

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

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

Примерное время прохождения учебника: 20 минут.

Требования

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  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))
    

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

    Это выражение извлекает день недели из данных о продажах. Дополнительные сведения см. в разделе Выражения (построитель отчетов версии 3.0 и службы 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, в списке Размер выберите 24 pt, в списке Цвет выберите Каштановый и в списке Стиль выберите Курсив.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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