Главная » Microsoft SQL Server, Базы данных » Проектирование композиции отчета

0

Конструктор отчетов в Visual Studio 2005 содержит большой набор средств, помогающих создать композицию элементов отчета. В этом разделе будут описаны основы проектирования отчетов и продемонстрированы способы создания отчетов, группировки и сортировки данных, а также добавления в отчет диаграмм.

Основные элементы композиции отчета

Вкладка Layout конструктора отчетов содержит множество средств, позволяющих форматировать даже самые сложные отчеты. Эта вкладка разделена на три раздела: верхний колонтитул, тело и нижний колонтитул. В табл. 46.3 описаны назначение каждого из этих разделов и режимы их работы. сходно с работой с формами Windows. Элементы отчета добавляются путем их перетаскивания с панели Toolbox в рабочую область конструктора отчетов.

Л     Так как отчет фиксирует состояние набора данных в конкретный момент време-

ни, довольно важно включать в него ответы на ведущую пятерку вопросов идентификации: “Кто? Что? Где? Когда? Зачем?”. Кто запустил отчет? Какие критерии были заданы при генерации отчета? Когда данный отчет был создан? Проверено Зачем создавался данный отчет? Единообразная вставка ответов на эти вопросы во все отчеты позволит избежать впоследствии недоразумений и неопределенности.

Таблица 46.3. Разделы отчета

Раздел

Описание

Header

По умолчанию содержимое верхнего колонтитула помещается на каждую страницу. Это

(Верхний колон

отличное место для размещения заголовков и описаний назначения отчета. Параметры

титул)

PrintOnFirstPage И PrintOnLastPage определяют, следует ЛИ применять верхний колонтитул соответственно к первой и последней страницам отчета

Body (Тело

Если отчет содержит параметры, может оказаться разумным добавить в верхнюю или

отчета)

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

Проектирование тела отчета напоминает создание форм Windows и Web-форм. При запуске отчета на выполнение все его элементы займут свои позиции в отчете относительно друг друга

Footer (Нижний

Подобно верхнему колонтитулу, нижний воспроизводится по умолчанию на всех стра

колонтитул)

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

Проектирование верхнего колонтитула

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

1.              Чтобы отобразить раздел верхнего колонтитула, щелкните правой кнопкой мыши на левом поле отчета и выберите в контекстном меню пункт Page Header. Имейте в виду, что все добавленное в этот раздел содержимое будет удалено, если отключить отображение этого раздела.

2.              Добавьте в верхний колонтитул текстовое поле с панели Toolbox.

3.              Введите заголовок отчета и отформатируйте текстовое поле. Содержимое заголовка можно сделать динамическим — т.е. зависящим от содержимого отчета и выбранных параметров. Для этого можно воспользоваться выражениями. Практически все визуальные аспекты текстового поля также допускают использование выражений.

Проектирование нижнего колонтитула

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

1.               Чтобы отобразить раздел верхнего колонтитула, щелкните правой кнопкой мыши на левом поле отчета и выберите в контекстном меню пункт Page Header.

2.               Добавьте в раздел три текстовых поля, используя следующие выражения:

=UserlUserlD

=Globals I PageNumber & " из 11 & Globals! TotalPages =Globals1ExecutionTime

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

Добавление и форматирование элемента таблицы

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

1.              В раздел тела отчета добавьте элемент таблицы из панели Toolbox.

2.              Установите параметр DataSetName в набор данных Products. Если в отчете определен только один набор данных, то элемент таблицы будет к нему подключен автоматически. Если же в отчете определено больше одного набора данных, то эту установку придется выполнить вручную.

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

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

5.              Выделите левую границу верхнего колонтитула таблицы и установите для параметра RepeatOnNewPage значение true. Это приведет к отображению заголовков столбцов таблицы на всех страницах отчета.

6.              Щелкните правой кнопкой мыши на левой границе нижнего колонтитула таблицы и выберите в контекстном меню пункт Table Footer. В результате выполнения этой операции раздел нижнего колонтитула таблицы будет удален.

На рис. 46.9 представлена общая композиция созданного отчета, включая колонтитулы и таблицу. На рис. 46.10 показаны результаты выполнения отчета.

Puc. 46.9. Композиция отчета с отформатированными колонтитулами и телом отчета

Добавление и форматирование элемента списка

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

Product List

Categoiy

Subcotegoiy

Product Name

Components

Road Frames

HL Road Frame – Black, 58

Components

Road Frames

HL Road Frame – Red, 58

Accessories

Helmets

Sport-100 Helmet, Red

Accessories

Helmets

Sport-100 Helmet, Black

Clothing

Socks

Mountain Bike Socks, M

Clothing

Socks

Mountain Bike Socks, L

Accessories

Helmets

Sport-10) Helmet, Blue

Clothing

Caps

AWC Logo Cap

Clothing

Jerseys

Long-Sleeve Logo Jersey, S

Clothing

Jerseys

Long-Sleeve Logo Jersey, M

Clothing

Jerseys

Long-Sleeve Logo Jersey, L

Clothing

Jerseys

Long-Sleeve Logo Jersey, XL

Components

Road Frames

HL Road Frame – Red, 62

Components

Road Frames

HL Road Frame – Red, 44

Components

Road Frames

HL Road Frame – Red, 48

Components

Road Frames

HL Road Frame – Red, 52

Components

Road Frames

HL Road Frame – Red, 56

Components

Road Frames

LL Road Frame – Black, 58

Components

Road Frames

LL Road Frame – Black, 60

Components

Road Frames

LL Road Frame – Black, 62

Components

Road Frames

LL Road Frame – Red, 44

Components

Road Frames

LL Road Frame – Red, 48

Components

Road Frames

LL Road Frame – Red, 52

Components

Road Frames

LL Road Frame – Red, 58

Рис. 46.10. Выполненный отчет с отформатированными колонтитулами и телом отчета

Для добавления и форматирования описанного выше списка выполните следующие действия.

1.              Добавьте элемент List из панели Toolbox в тело отчета.

2.              Откройте страницу параметров списка, щелкнув правой кнопкой мыши на элементе списка и выбрав в контекстном меню пункт Properties.

3.              Щелкните на кнопке Edit Detail Group, чтобы определить критерий группировки в списке.

4.              Присвойте группе имя grpProductList.

5.              Выделите поле ProductID в разделе Group On.

6.              Если хотите отображать карту документа в отчете для данного списка, выберите поле ProductName в разделе Document Map Label.

7.              Щелкните на кнопке О К, чтобы применить группировку и вернуться на страницу параметров списка.

8.              Перейдите к вкладке Sorting и введите следующее выражение:

=Sum(FieldsILineTotal.Value, "grpProductList")

9.              Установите порядок сортировки Descending (по убыванию).

10.           Щелкните на кнопке О К, чтобы применить изменения параметров к списку.

11.           Добавьте в элемент списка два текстовых поля, используя для их значений следующие выражения:

=Fields1ProductName.Value

=Sum(Fields ILineTotal.Value, "grpProductList")

12.           Установите для параметра Format текстового поля, вычисляющего общий объем продаж, значение С, чтобы отображать значения в денежном формате.

1.              Добавьте необходимые дополнительные элементы, а затем примените к ним необходимое форматирование.

2.              В режиме предварительного просмотра должен отобразиться список товаров, отсортированный в порядке убывания общего объема продаж.

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

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

Таблица 46.4. Страницы свойств элементов матрицы и таблицы

Вкладка

Описание работы

General

Присвойте матрице или таблице имя, подключите набор данных, определите текст экранных подсказок и разрывы страниц

Visibility

Определите видимость элементов в процессе выполнения отчета. Видимость отдельных элементов может определяться на основе состояния других элементов отчета

Navigation

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

Sorting (Доступна только для таблиц)

Установите порядок сортировки данных в таблице

Groups

Добавьте и отредактируйте определения групп и измените их порядок

Filters

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

Data Output

В этой вкладке осуществляется управление форматом экспорта. Укажите, следует ли включать данный элемент в экспортируемые данные

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

Группировка и сортировка данных в элементах таблицы и матрицы

Элементы таблицы и матрицы в отчете предлагают высокий уровень управления группировкой и сортировкой с помощью окна Grouping and Sorting Properties (рис. 46.11). Это окно выглядит одинаково для этих двух типов элементов.

Чтобы открыть окно Grouping and Sorting Properties, щелкните правой кнопкой мыши на границе строки таблицы (или на заголовке столбца матрицы) и выберите в контекстном меню пункт Edit Group. В качестве альтернативы можете воспользоваться вкладкой Groups

диалогового окна параметров таблицы или матрицы. В окне Grouping and Sorting Properties определяется порядок фильтрации и сортировки, а также параметры видимости и вывода данных для выбранной группы.

Puc. 46.11. Диалоговое окно Grouping and Sorting Properties используется для создания групп в таблицах и матрицах и управления этими группами

Во вкладке General этого окна доступны следующие параметры, определяющие группу.

?               Name. Это имя будет использоваться при определении области определения выражений.

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

?               Group on. Выберите поля набора данных, по которым будет выполняться группировка или построение выражений.

?               Document map label. При желании выберите значение, включаемое в карту документа.

?               Parent Group. Используется для определения рекурсивной иерархии данных, в которой все отношения между родителями и потомками реализованы в самих данных (примером может служить организационная диаграмма компании).

?               Флажки разрывов страницы. Управление разрывами страниц и видимостью колонтитулов группы.

Вкладки Filters, Sorting, Visibility и Data Output аналогичны соответствующим вкладкам диалоговых окон свойств таблицы и матрицы, описанных ранее, однако параметры, содержащиеся в них, оказывают влияние тозгько на выбранную группу. Элементы матрицы и таблицы могут содержать несколько групп. Для управления порядком этих групп можно использовать диалоговые окна параметров таблиц и матриц, описанные ранее.

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

Установка порядка сортировки в таблице

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

1.              Откройте диалоговое окно параметров элемента таблицы.

2.              Перейдите к вкладке Sorting.

3.              В столбце Expression выделите поля, по которым должна выполняться сортировка, а в столбце Direction — ее порядок. С помощью кнопок со стрелками, направленными вверх и вниз, вы можете изменять порядок применения критериев сортировки, а с помощью кнопки Delete — удалять ненужные критерии.

4.              Щелкните на кнопке О К, чтобы применить изменения.

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

Служба отчетности в SQL Server 2005 содержит функцию интерактивной сорти- Ндаинкз ‘ ровки (Interactive Sort), позволяющую создателю отчета только определять кри- 2005   терии сортировки для каждого столбца. При выполнении отчета столбцы с

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

Для определения критерия интерактивной сортировки для столбца таблицы выполните следующие действия.

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

2.              Перейдите к вкладке Interactive Sort.

3.              Установите флажок Add an interactive sort action to this textbox.

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

5.              Если таблица содержит группы, вы можете выбрать, какова будет область определения выражения сортировки: конкретная группа или весь диапазон данных.

6.              Щелкните на кнопке О К, чтобы применить внесенные изменения.

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

Добавление в таблицу групп

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

1.              Откройте окно параметров элемента таблицы и перейдите к вкладке Groups. Обратите внимание на то, что список групп пока пуст.

2.              Для создания новой группы щелкните на кнопке Add. Откроется диалоговое окно Grouping and Sorting Properties.

3.              Присвойте группе имя CategoryGroup.

4.              В столбце Expression параметра Group on выберите поле Category.

5.              Если хотите, чтобы отчет включал карту документа, позволяющую пользователю быстро переходить в пределах отчета, используя элементы древовидного представления,

выберите в параметре Document Map Label поле Category. Очень важно выбрать поле, связанное отношением “один к одному”, с полем, использованным для группировки. Например, выполните группировку по полю CategorylD, а для карты документа используйте поле Category.

6.              При создании группы верхнего уровня не определяйте значение для параметра Parent Group.

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

8.              При создании группы вы должны также указать поле, по которому будет сортироваться группа. Для этого перейдите к вкладке Sorting и выберите поле Category.

9.              Щелкните на кнопке ОК, чтобы закрыть диалоговое окно Grouping and Sorting Properties и вернуться в окно параметров таблицы. Обратите внимание на то, что в списке Group List теперь отображается имя группы CategoryGroup.

10.          Чтобы добавить группу подкатегорий, снова щелкните на кнопке Add и сконфигурируйте группу согласно рис. 46.12. При этом не забудьте определить сортировку по полю Subcategory.

11.          Щелкните на кнопке О К, чтобы применить изменения.

Рис. 46.12. Добавление групп в таблицу выполняется с помощью диалогового окна Grouping and Sorting Priperties

Форматирование таблиц с группами

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

На рис. 46.13 показаны отформатированные группы, а на рис. 46.14 — выполненный отчет.

Puc. 46.13. Расширение раскладки таблицы путем добавления групп

Puc. 46.14. Отчет с группировкой и карта документа

Иллюстрирование данных с помощью диаграмм

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

Рис. 46.15. В диалоговом окне Chart Properties определяются и настраиваются диаграммы

Добавление в отчет круговой диаграммы

Для добавления в отчет диаграммы выполните следующие действия.

1.              Добавьте в отчет элемент Chart с панели Toolbox.

2.              Щелкните правой кнопкой мыши на элементе диаграммы и выберите в контекстном меню пункт Properties.

3.              В списке типов диаграмм выберите тип круговой диаграммы (Pie Chart).

4.              Введите заголовок диаграммы.

5.              Перейдите к вкладке Data.

6.              Выберите диапазон данных, которые будут отображаться на диаграмме.

7.              Щелкните на кнопке О К, чтобы сохранить изменения.

8.              Выделите диаграмму, чтобы отобразить окна данных, значений и категорий.

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

заказа и поле соответствующей категории товара, первое из них перетащите в окно Data, а второе — в окно Series. В этом случае на диаграмме отобразятся общие объемы продаж в разрезе категорий товаров.

Теперь в окне предварительного просмотра вы можете посмотреть полученные результаты.

Источник: Нильсен, Пол. Microsoft SQL Server 2005. Библия пользователя. : Пер. с англ. — М. : ООО “И.Д. Вильямс”, 2008. — 1232 с. : ил. — Парал. тит. англ.

По теме:

  • Комментарии