понедельник, 11 января 2010 г.

Создание отчетов в Crystal Reports на основе нескольких таблиц и запросов.

Лабораторная работа № 2
Цель работы : Создание отчетов в Crystal Reports на основе нескольких таблиц и запросов.

Задание 1
Создайте отчет с двумя уровнями группировки на основе таблиц Студент, Группа, Специальность для подсчета суммарной стоимости обучения для коммерческих студентов, обучающихся по данной специальности в данной группе.
Требования к отчету:
1. 1. в отчете должны присутствовать два уровня группировки, согласно иерархии данных;
1. 2. стоимость обучения в денежном эквиваленте должна быть отражена только для коммерческих студентов;
1. 3. подведение итогов стоимости обучения для специальности и группы.
Выполнение работы
Откройте мастер отчетов. В списке Available Data Sources откройте History и выберите свою БД (если список пуст, подключите свою БД, используя Access/Excel(DAO)). Выберите таблицы Студент, Группа, Специальность и нажмите Далее.
Если в качестве источника данных были выбраны более одной таблицы, то откроется окно Link, в котором показываются таблицы отчета в графическом виде – таблицы изображаются в виде прямоугольников, внутри которых содержится список полей таблицы (рис.7). Связи таблиц можно удалять, создавать и менять их свойства. Проверьте связи между таблицами и нажмите Далее.


Рис.7 Диалоговое окно Link мастера стандартных отчетов

Выберите поля: Номер группы, Наименование специальности, Стоимость обучения, Номер зачетной книжки, Фамилия, Коммерческий и нажмите Далее.
Выполните группировку по полям Наименование специальности и Номер группы и нажмите Далее.
Выберите операцию SUM для поля Стоимость обучения по двум уровням группировки, остальные поля удалите и нажмите Готово.
Перейдите на вкладку Design в окне просмотра и редактирования главного окна и отредактируйте отчет, удалив ненужные поля (рис.8).

Рис.8 Редактирование отчета в режиме Design

Выделите поле Коммерческий и выберите кнопку пиктографического меню Select Expert и создайте для поля условия отбора, выбрав логический оператор Is True.
Допускается использование следующих операторов:
­ equal to – равенство. Применимо для любого поля;
­ one of – равенство любому значению из списка. Применимо для любого поля;
­ greater (less) then or equal to – больше, меньше или равно. Применимо для любого поля;
­ between – задает верхнюю и нижнею границу. Применимо для любого поля;
­ start with – выбирает текстовые поля, начинающиеся с заданного символа;
­ like - выбор текстового поля по маске (* - последовательность символов, ? – один символ);
­ formula – выборка по формуле;
­ in the period – применимо для поля типа дата и дата-время.
При попытки просмотра отчета после создания нового условия выборки появляется диалоговое окно Change In Record Selection Formula Detected, в котором предлагается использовать в отчете сохраненные данные или обновить их из источника данных щелчком на кнопке Refresh Data.
Установите сортировку по результату вычислений суммирующих значений, которые меньше 50 процентов от общего количества значений по полю номер группы. Выберите кнопку контекстного меню Group Sort Expert или меню Report/ Group Sort Expert . Появится диалоговое окно Group Sort Expert с вкладками для каждого агрегатного поля отчета, причем каждая вкладка – это имя поля, по которому производится группирование (в нашем случае - Номер группы). В раскрывающемся списке For This Group Sort выберите Bottom Percentage, а в Based On – Count Of группа. Номер группы, Where Percentage Is – 50 и нажмите кнопку ОК.
Опции сортировки групп, которые можно выбрать в раскрывающемся списке For This Group Sort:
­ sort all – сортировка и печать всех групп;
­ top N - сортировка и печать групп с наибольшим значением агрегатного поля, где N – сколько групп включить в отчет;
­ top percentage - сортировка и печать групп со значением агрегатного поля, большим указанного количества в процентах от общего количества;
bottom percentage - сортировка и печать групп со значением агрегатного поля, меньшим указанного количества в процентах от общего количества.
Рис.9 Внешний вид отчета в режиме Preview
Задание 2
Самостоятельно создайте следующие виды отчетов:
2.1 расчета среднего балла факультета, используя поле наименование факультета
Требования к отчету:
2.1.1. добавьте группировку по группам. Для добавления новых групп в отчет используется диалоговое окно Insert Group команды меню Insert или кнопки пиктографического меню. Это окно позволяет изменять порядок группировки или устанавливать опции для сгруппированных полей. Установите для поля Номер группы опцию Keep Group Together, которая предотвращает разрыв группы на разные страницы;
2.1.2. отсортировать записи по наименованию факультета в порядке убывания;
2.1.3. рассчитайте средний балл по группам (диалоговое окно Insert Summary для поля номер группы);
2.1.4. вставьте текстовый объект с надписью «Средний балл по группе» и «Средний балл по факультету»;
2.1.5. упорядочьте средний балл по группам так, чтобы две группы с наибольшим баллом средним баллом были представлены в верхней части отчета, а остальные – в группе прочие.
Рис10 Внешний вид отчета в режиме Preview

2.2. расчета количества бюджетных и коммерческих студентов по наименованию специальности
Требования к отчету:
2.2.1. для поля Дата рождения создайте условие отбора для студентов, родившихся в заданном году, например промежуток от 01/01/1989 до 31/12/1989;
2.2.2. вставьте логотип университета, чтобы он при распечатке был только на первой странице отчета, а на каждой странице время создания и автор отчета;
2.2.3. упорядочьте группы по наименованию специальности так, чтобы одна специальность с наименьшим количеством была представлена в верхней группе по страницам, а остальные – группе прочие.
Рис11 Внешний вид отчета в режиме Preview

2.3. расчета общей стоимости обучения коммерческих студентов, обучающихся на факультетах университета в разрезе специальности
Требования к отчету:
2.3.1. отчет содержит два уровня группировки с подведением итогов;
2.3.2. отсортируйте поле Наименование факультета в порядке возрастания (рис.12)
Рис12 Внешний вид отчета в режиме Preview

Комментариев нет:

Отправить комментарий