понедельник, 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

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

Цель работы : Создание отчетов в Crystal Reports на основе одной таблицы или запроса.

Задание 1
Существует база данных MS Access 2003. База данных хранит информацию о студентах университета.
Создайте отчет позволяющий просмотреть сведения о студентах каждой группы с подсчетом количества студентов, обучающихся в данной группе.
Требования к отчету:
1.1 отчет должен иметь логотип университета;
1.2 на каждой странице должен быть ее номер и общее количество страниц;
1.3 в заголовке отчета и внизу каждой страницы должна быть информация о дате печати.
Выполнение работы
Запуск программы выполните через главное меню Программы \ Crystal Reports. Появится окно Start Page для выбора типа нового отчета выберите Standard Report Wizard. Standard Report Creation Wizard содержит несколько последовательно открывающихся окон, которые шаг за шагом позволяют создать стандартный отчет. В окне Data Standard Report Creation Wizard содержится два древовидных списка. В левом списке Available Data Sources перечислены источники данных, которые могут быть использованы для создания отчета, а правый Selected Tables содержит выбранные таблицы. В списке Available Data Sources откройте Create New Connection и щелкнете Access/Excel(DAO), появится окно Access/Excel(DAO)Connection в строке Database Name выберите из списка баз данных – свою базу данных и откройте ее. Выберите объект таблицы – таблицу Студент добавьте в список Selected Tables и нажмите далее.
Откроется второе окно мастера стандартного отчета Fields, который содержит два древовидных списка. Левый список Available Fields содержит поля таблиц, на основе которых могут быть созданы объекты отчета и правый Fields to Display –поля, которые будут включены в отчет: выберите все поля таблицы Студент и нажмите далее.
Окно Grouping позволяет сгруппировать данные по какому-либо полю, причем сортировка может быть установлена по возрастанию значения поля, по убыванию или в специальном порядке. Левый список Available Fields содержит поля отчета и поля таблиц, на основе которых создаются группы отчета, и правый Group by содержит группы отчета. Выберите объект Студент поле Номер группы и нажмите далее.
Окно Summaries служит для вычисления агрегатных значений. В левом списке Available Fields содержатся поля отчета и поля таблиц, на основе которых можно агрегировать данные, и правый Summarized Fields – список отобранных для вычисления агрегатных значений полей. В правой нижней части расположен раскрывающийся список агрегатных функций. Для поля Sum of студент. Номер зачетной книжки выберите функцию Count, а лишние поля удалите, и нажмите далее.
Окно Group Sorting позволяет более эффективно обрабатывать сгруппированные данные. В верхней части окна расположен раскрывающийся список, содержащий раннее созданные группы. Кнопки в средней части окна выбирают тип группировки, а раскрывающийся список в нижней части – выбирают критерий отбора групп. Оставьте переключатель в положении None , и нажмите далее.
Окно Chart предназначено для включения в отчет диаграммы, оставим переключатель No Chart, и нажмите далее.
Окно Record Selection служит для создания правил отбора данных в отчет и содержит два списка. В левом списке Available Fields содержатся все доступные поля таблиц базы данных, а правый Filter Fields содержит поля, на основе которых создаются правила отбора данных в отчет. Нажмем далее не выбирая полей фильтрации.
Окно служит для выбора шаблона. Оставим переключатель No Template и нажмем готово. Созданный отчет откроется на вкладке Preview главного окна Crystal Reports.
Вставка и форматирование полей отчета выполняется на вкладке Design меню View или в окне просмотра и редактирования главного окна вкладками Design и Preview.

Рис.1 Отчет в режиме конструктора Design

Для размещения логотипа университета нужно открыть секцию Report Header, для этого щелкнете правой мышью в окне Report Explorer на вкладке Report раздел Report Header и выберите опцию Don’t Suppress. Щелкните по пиктографическому меню Insert Picture и выберите путь указанный на рисунке (Рис 2). Добавьте логотип в область Report Header.

Рис.2 Добавление логотипа в область Report Header

Информация о номере и общем количестве страниц размещается в разделе Page Footer. Для этого выделите раздел Page Footer на вкладке Report окна Report Explorer и перейдите на вкладку Fields,выбрав Special Fields . В раздел Page Footer перетащите поля Page Number, Total Page Count, а также поле Print Date в разделы Page Footer и Page Header.
Рис.3 Отчет в режиме Preview

Сохраните созданный отчет в своей папке.

Задание 2
Самостоятельно создайте следующие виды отчетов:
2.1 . о суммарных отчислениях по специальности и группе для коммерческих студентов. В основе отчета «Запрос с вычисляемым полем»
Требования к отчету:
2.1.1. два уровня группировки с суммарными вычислениями для каждой специальности и каждой группы, обучающейся по данной специальности;
2.1.2. на каждой странице должен быть ее номер и общее количество страниц;
2.1.3. в заголовке отчета и внизу каждой страницы должна быть информация о дате печати и имя автора отчета.
Рис.4 Отчет в режиме Preview

2.2. отчет, позволяющий просмотреть средний балл по каждому наименованию дисциплины, хранящейся в таблице «Общая ведомость»
Требования к отчету:
2.2.1. вывести средний балл по каждому наименованию дисциплины;
2.2.2. показать номер текущей страницы из общего количества страниц;
2.2.3. имя файла отчета и путь к нему.
Рис.5 Отчет в режиме Preview
2.3. отчет, позволяющий просмотреть количество бюджетных и коммерческих студентов, обучающихся на факультете. В основе отчета «Выборка 1», в которую предварительно добавить поле коммерческий
Требования к отчету:
2.3.1. два уровня группировки с подведением итогов по количеству бюджетных и коммерческих и всего студентов на факультете;
2.3.2. разместить на каждой странице отчета рисунок с изображением университета
Рис.6 Отчет в режиме Preview