Создание отчетов в oracle reports

Обновлено: 04.07.2024

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

Определяемые пользователем отчеты являются отчетами, создаваемыми пользователями SQL Developer. Чтобы создать определяемый пользователем отчет, выполните следующие шаги:

Щелкните правой кнопкой по узлу User Defined Reports под Reports и выберите Add Report.

В диалоговом окне Create Report укажите имя отчета и SQL-запрос, чтобы получить информацию для отчета. Затем, щелкните по Apply.

В примере на рисунке имя отчета определяется как emp_sal . Дополнительное описание обеспечивается, указывая, что доклад содержит сведения о сотрудниках с salary >= 10000 .

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

Можно организовать пользовательские отчеты в папки и можно создать иерархию папок и подпапок. Чтобы создать папку для определяемых пользователем отчетов, щелкните правой кнопкой по узлу User Defined Reports или любому имени папки под этим узлом и выберите Add Folder. Информация об определяемых пользователем отчетах, включая любые папки для этих отчетов, хранится в файле с названием UserReports.xml в каталоге для пользовательской информации.

Поисковые системы и Внешние Инструменты

Чтобы улучшить производительность разработчиков SQL, SQL Developer добавил быстрые ссылки к популярным поисковым системам и дискуссионным форумам, таким как AskTom, Google и так далее. Кроме того, у Вас есть ярлыки к некоторым из часто используемых инструментов, таких как Блокнот, Microsoft Word и Dreamweaver, доступные Вам.

Можно добавить внешние инструменты к существующему списку или даже удалить ярлыки на инструменты, которые Вы часто не используете. Чтобы сделать это, выполните следующее:

Из меню Tools выберите External Tools.

Во диалоговом окне External Tools выберите New, чтобы добавить новые инструменты. Выбор Delete, чтобы удалить любой инструмент из списка.

Дизайнер можно вызвать с помощью пиктограммы или из командной строки.

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


При этом в окне Дизайнера открывается Объектный Навигатор.

Объектный Навигатор показывает существующие объекты и типы объектов,

используется для вызова таблиц атрибутов объектов, а также для создания

и переименования объектов.



2. Соединение с базой данных

Для соединения с базой данных выберите в меню File -> Connect .

Появится диалоговое окно Connect .

Соединение с базой данных можно сделать

из командной строки при вызове Дизайнера.

3. Определение данных

Определение данных делается в редакторе модели данных, который можно

вызвать из Объектного Навигатора.


Дважды щелкните на пиктограмме узла модели данных. Появится редактор

Выберите инструмент SQL Query , щелкнув на нем в палитре инструментов.


Перейдите в рабочую область редактора модели данных и щелкните один раз.

Появится запрос Q _1 .


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

Запрос можно ввести в окне SQL Query Statement ,

импортировать из файла – закладка Import SQL Query и

построить с помощью специального построителя запросов – закладка

Воспользуемся первым способом.


3. Создание макета по умолчанию


Для создания макета воспоьзуйтесь инструментом Report Wizard ,


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

Введите заголовок отчета и выберите табличный стиль отчета:


Выберите поля которые будут отображаться в отчете:


Введите метки и ширину столбцов:


Данная закладка определяет выбор шаблона.

В данном примере предопределенные шаблоны использовать не будем.


После окончания работы с Report Wizard ( Finish ) отчет запускается к выполнению и появляется в окне предварительного просмотра:


4. Редактор макета

Для того чтобы вызвать редактор макета, дважды щелкните мышью на его пиктограмму в Объектном Навигаторе.


5. Сохранение и запуск отчета

Выберите File -> Save или пиктограмму Save . Появится диалоговое окно Save .


Сохраните отчет в файле Les 1. rdf .

Для запуска отчета из Навигатора или из какого-либо редактора выберите инструмент Run .


Появится окно формы параметров. В этом окне можно ввести значения параметров перед исполнением отчета.

Oracle Reports имеет несколько системных параметров. Можно включить

любые или все системные параметры в форму параметров или создать

Урок 2. Создание отчета с разбивкой, формульных и

вычисляемых столбцов

Данный отчет является улучшением отчета les 1. rdf .

Изменение модели данных

Необходимо сгруппировать всю информацию, относящуюся к одному отделу.

Для этого надо создать новую группу с информацией об отделе. Отбуксируйте столбец OTDEL так, чтобы он находился выше группы G _1 . Образовалась новая группа G _2. Затем в эту группу отбуксируйте столбец otdel _ id .


Обновление макета отчета

Макет необходимо обновлять каждый раз при изменении иерархии данных,

при удалении или добавлении столбцов.

Создайте макет табулярного отчета по умолчанию (урок 1).

Создание вычислений

Не все столбцы должны выбираться из базы данных. Для выполнения вычислений

можно создать собственные столбцы. Такие столбцы вычисляют свои значения, основываясь на выражениях PL / SQL или на значениях столбцов базы данных.

Есть два типа вычислений -

Формулы Значения вычисляются с использованием выражения PL / SQL .

Формулы могут оперировать со значениями столбцов

Итоги Значения вычисляются с использованием функций,

предоставляемых ORACLE REPORTS .

Итоги подводятся по значениям нескольких записей.


Для создания формульного столбца используется инструмент

Formula Column в палитре инструментов. Щелкните один раз на инструменте

Formula Column , затем щелкните в группе G _1 . По двойному щелчку мыши вызовите окно свойств и переименуйте столбец в oklad $ .

Выберите Formula : Edit для вызова редактора программных модулей.

Введите следующий текст функции:


Откомпилируйте данную функцию ( Compile ) и закройте редактор программных

Создание Группового итога


Для создания итоговых полей используется инструмент Summary Column .

Создайте суммарный столбец в группе G _2 . Вызовите его таблицу атрибутов, переименуйте его, в списке значений Reset At выберите G _2 .

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

Выберите инструмент Summary Column и щелкните на свободном месте

Вызовите таблицу атрибутов созданного столбца.

Убедитесь, что уровень сброса итога установлен в Report .

Окончательно модель данных выглядит так, как показано на рисунке.


Вид макета после обновления:


Вид отчета после запуска:


Урок 3. Оформление отчета

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

Добавление выделенного заголовка


Для этого перейдем в редактор Layout и выберем режим редактирования

окружения отчета - кнопка Margin на панели инструментов.


В верхней части отчета создайте текстовое поле(кнопка Text на левой

панели) с содержанием «Отчет о личном составе по отделам», используя

палитру красок раскрасьте его по своему вкусу.

Создайте статический объект - прямоугольник с скругленными краями.

Разместите его за статическим текстом, используя меню

Arrange \ Send to Back , раскрасьте этот прямоугольник по вашему вкусу…

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

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



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

Для добавления даты и нумерации страниц можно также воспользоваться инструментом Field :


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

Oracle Reports Builder - это гибкое визуальное средство разработки и получения отчетов. Отчеты играют особую роль при подведении итогов работы организации за какой-либо промежуток времени.

Организации самого разного профиля в повседневной работе широко используют отчеты. Любая организация, ведущая учет на основе баз данных, найдет эффективное применение средству построения отчетов. Итоговые данные получаются, как правило, путем обобщения и анализа большого количества информации, могут включать в себя текст, деловую графику, таблицы. Оформление итоговых отчетов должно носить характер официального документа организации, ведь бумаги (или электронные копии) будут направляться руководству, акционерам, в контролирующие органы и другим важным адресатам. Часто бывает, что отчетность настолько объемна, что только процесс ее печати занимает часы.

Oracle Reports Builder дает возможность коллективу разработчиков потрудиться как над получением и обработкой данных, так и над внешним видом проектируемых документов. Визуальное проектирование и генерация отчетов могут вестись на разных программных платформах. Типичные случаи использования Oracle Reports Builder: обработка отчетов происходит ночью, либо по расписанию в моменты наименьшей пользовательской нагрузки, пользователи получают результат работы либо в печатном виде, либо в виде электронных файлов стандартного формата HTML, PDF, RTF или XML, доставленных по электронной почте или записанных на файл-сервер; доступ пользователей к отчетам организован через Web во внутренней или внешней сети. В этом случае достаточно обычного навигатора, чтобы получить готовый или сгенерированный "на лету" отчет. Отчеты также могут формироваться при возникновении какого-либо, заранее определенного события, например, новые данные были введены в базу данных.

Все самые современные стандарты могут использовать разработчики при проектировании отчетов: Oracle Reports Builder применяет технологию JSP (Java Server Pages) для представления информации в удобном для пользователей виде. Важно отметить, что Oracle Reports Builder не требует от разработчиков применения разных подходов для проектирования отчетов, выполняемых в различных средах; несколько пользователей запрашивают одни и те же данные практически одновременно, например, в начале дня информацию о заключенных в прошедший день сделках, и необходимо устроить промежуточное хранение результатов выполнения запросов, чтобы избежать излишней нагрузки на базу данных. В соответствии с традициями средств разработки Oracle, Oracle Reports Builder тесно интегрирован с сервером баз данных Oracle, использует одинаковые с ним языки разработки.

Для запуска Oracle Reports Builder необходимо выбрать Пуск – Программы- Oracle Developer Suite – Reports Developer –Reports Builder.


После того как мы запустили Oracle Reports Builder, у нас на экране должно появится чистый проект отчета «Module1». Подключимся к базе Oracle, нажав кнопку , введем в окне данные своего пользователя для подключения. Нажмем кнопку сохранить на панели инструментов Oracle Reports Builder, в появившемся окне введем новое имя проекта «rep_org» и выберем тип файла *.rdf, выберете директорию сохранения там, где сохранены формы и меню (рис. 61).


Рисунок 61 - Переименование и сохранение проекта отчета

Построение отчета

Построим отчет «Список юридических лиц» по одной таблице с помощью мастера отчетов. Для этого в окне Object Navigator нажмем правую кнопку мыши и выберем в контекстном меню Report Wizard, в результате запустится мастер отчетов (рис. 62).


Рисунок 62 - Окно мастера отчетов

Проделаем следующие действия в мастере отчетов:

Выберем «Create Paper Layout Only» и нажмем кнопку «Далее».

На следующей вкладке введем поле «Title» - «Список юридических лиц» и нажмем кнопу «Далее» (рис. 63).


Рисунок 63 - Ввод заголовка в мастере отчетов

1. На следующей вкладке убедитесь в том, что выбрано «SQL Query» и нажмите кнопку «Далее».

2. На следующей вкладке «Data Source» в поле «Data Source Definition» введите текст запроса: «SELECT kod, naimen, inn FROM s_org»,


Рисунок 64 - Ввод запроса в мастере отчетов


4. На следующей вкладке нажмем кнопку и «Далее».

5. На следующей вкладке нажмем кнопку «Далее».




6. Введем подписи для выводимых полей, как показано на рисунке 65 и нажмем кнопку «Далее».


Рисунок 65 - Ввод подписей в мастере отчетов

7. Нажмем кнопку «Готово» и получим отчет «Список юридических лиц» (рис. 66).


Рисунок 66 - Отчет, полученный с помощью мастера


8. Произведем форматирование полученного отчета: щелкнем по рисунку «your company» и удалим его, щелкнем по заголовку «список юридических лиц» и на панели инструментов Report Editor – Paper Design выберем размер шрифта 15 и, нажмем кнопку , в результате получим отчет (рис. 67).

Oracle Reports Developer (Построитель отчетов) – это мощное средство для проектирования отчетов в составе среды Oracle Developer . Оно позволяет структурировать и форматировать информацию на основе разных стилей, как из базы данных , так и из файловой системы, а также комбинировать ее с текстом и графикой для представления в отчетах на бумаге и в веб-среде, используя Oracle AS Services. Oracle Reports предполагает создание отчетов , работающих как в архитектуре " клиент-сервер ", так и в Web , для построения которых можно использовать Java- апплеты или Java-скрипты. Также вы получаете возможность получения различных типов выходных отчетов в форматах Adobe Acrobat Reader (*.pdf), Microsoft Excel (*.xls), HTML и многих других.

В этой главе мы рассмотрим, как Forms можно связать с построителем отчетов и какие для этого предусмотрены возможности. Между двумя этими продуктами, как, впрочем, и между остальными продуктами Oracle Developer , существует тесная взаимосвязь и гибкий обмен данными . Обмениваясь данными с Reports, вы делаете это аналогично тому, как вы бы это делали, передавая параметры в другую форму. Далее будут рассмотрены темы:

  • Запуск Oracle Reports из Oracle Forms .
  • Передача параметров из Oracle Forms в Oracle Reports.

Запуск Oracle Reports из Oracle Forms

В Oracle Forms в зависимости от версии Reports можно запустить через две различные процедуры:

Сначала мы с вами рассмотрим процедуру RUN_PRODUCT , которая предназначена в первую очередь для запуска отчетов из версий Forms 6i и ниже. Эта процедура поддерживается для совместимости и в более поздних версиях Forms. С помощью этой процедуры вы можете запускать отчет, передавать в него параметры и группы записей. Ниже приведен синтаксис этой процедуры, который может быть оформлен в двух вариантах, отличающихся двумя выделенными параметрами.

Синтаксис процедуры RUN_PRODUCT

Описание принимаемых параметров:

PRODUCT – имя запускаемого продукта, им может быть Graphics, Forms или Reports;

DOCUMENT – имя исполняемого модуля, который должен быть исполнен вызываемым продуктом;

COMMODE – определяет тип (режим) запуска, который будет использован для вызываемого продукта. Вы можете устанавливать один из нижеперечисленных режимов:

  • SYNCHRONOUS (синхронный) – указывает на то, что управление будет передано форме только после закрытия вызываемого продукта;
  • ASYNCHRONOUS (асинхронный) – указывает на то, что управление форме будет возвращено немедленно после отображения модуля, то есть вы можете работать одновременно и с запущенным модулем, и с формой;

EXECMODE – определяет режим выполнения вызываемого продукта. Если вызывается Reports или Graphics , то режим можно устанавливать BATCH или RUNTIME ; если вы запускаете Forms, то режим выполнения всегда RUNTIME ;

LOCATION – определяет место размещения вызываемого модуля, им может быть файловая система ( FILESYSTEM ) или База Данных ( DB );

PARAMLIST_NAME OR PARAMLIST_ID – определяет список параметров, передаваемых вызываемому продукту. В качестве принимаемого параметра вы можете указать имя списка параметров или его идентификатор . Если вы не предаете никаких параметров, то можно написать NULL ;

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

  1. Если вы просто хотите запустить отчет без передачи параметров , вам достаточно будет написать в вашей программе одну строчку, как показано в листинге 7.1 "Запуск отчета без передачи параметров ".

Как показано в листинге 7.2 "Запуск и передача параметров в отчет", вы можете передавать различные типы параметров:

  • значения элементов;
  • значения параметров;
  • значения глобальных переменных;
  • значения групп записей ;
  • значения переменных;
  • системные параметры Reports.
Совет: используйте параметры для передачи значений в лексические параметры Reports, это позволит вам не только передавать значения критерия выборки, но и добавлять другие конструкции к фразе SELECT , такие как WHERE , GROUP BY , ORDER BY , HAVING , CONNECT BY и START WITH .

Остановимся подробнее на последнем пункте, так как все остальные варианты понятны и были уже рассмотрены ранее. Системные параметры Reports – это те параметры, которые управляют выполнением, отображением и формированием отчета. Используя их определения при добавлении параметра в список, вы тем самым получаете возможность влиять на ход выполнения вызываемого продукта. Далее перечислены основные системные параметры.

COPIES – определяет число копий, которое будет задано, когда отчет будет отправлен на печать.

CURRENCY – определяет индикатор денежного символа.

DESFORMAT – определяет выходной формат отчета. Oracle Reports поддерживает следующие форматы:

  • PDF (Forms9i и выше);
  • HTML;
  • RTF ;
  • HTMLCSS;
  • XML (Forms9i и выше);
  • DELIMITED ;
  • DELIMITEDDATA;
  • SPREADSHEETS (Forms10g).

DESNAME – определяет имя выходного драйвера (имя файла, имя принтера, mail пользователя). Например, если вы хотите вывести отчет на матричный принтер, вам необходимо указать имя файла *.prt – dec180 .

DESTYPE – определяет тип вывода отчета. Вы можете определить следующие типы: просмотр, файл , mail, принтер или вывод на просмотр с использованием PostScript .

MODE – определяет режим запуска отчета: растровый ( BITMAP ) или символьный ( CHARACTERS ).

ORIENTATION – определяет ориентацию печати, допустимы следующие значения:

  • DEFAULT ;
  • PORTRAIT ;
  • LANDSCAPE .

PRINTJOB – управляет отображением диалога печати перед запуском отчета.

THOUSENDS – указывает символ разделитель.

Используя вышеописанные параметры, вы сможете управлять печатью, например, вывести печать в файл: пример показан в листинге 7.3 "Формирование отчета в файл".

Вы можете вывести отчет немедленно на печать без предварительного просмотра или формирования файла, как показано в листинге 7.4 "Формирование отчета на принтер без предварительного просмотра".

Листинг 7.4. Формирование отчета на принтер без предварительного просмотра

Теперь, когда мы рассмотрели процедуру RUN_PRODUCT и запуск отчета в GUI, перейдем к рассмотрению встроенной подпрограммы WEB. SHOW_DOCUMENT для запуска отчетов в браузере.

Запуск отчета с помощью WEB.Show_Document

Встроенная процедура WEB.SHOW_DOCUMENT , как уже было сказано выше, предназначена для запуска отчета в браузере. Эта процедура поддерживается в версиях Forms 6i и выше. Из всех перечисленных в этой главе эта процедура является наиболее удобной и компактной в кодировании, и нижеприведенный синтаксис лишний раз это доказывает.

  • URL – определяет имя ресурса, с которого будет загружен документ. URL в данном случае — это не только адресная строка, но и набор передаваемых параметров, так как в определении URL используются системные параметры ( DESNAME , DESTYPE и другие).
  • DESTINATION – назначение целевого окна. Различают следующие назначения:
    • _SELF – заставляет отчет загружаться в ту же самую структуру или окно, что и первоисточник.
    • _PARENT – заставляет отчет загружаться в родительское окно или frameset , содержащий ссылку гипертекста. Если ссылка находится в окне или верхнем уровне фрейма, то _PARENT отрабатывает аналогично _SELF .
    • _TOP – заставляет отчет загружаться в окно, содержащее гипертекстовую ссылку, заменяя все текущие фреймы, которые отражены в этом окне.
    • _BLANK – загружает отчет в новое неименованное окно.

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

    Теперь, когда мы ознакомились с синтаксисом этой процедуры, попробуем ее в действии. В листинге 7.5 " Запуск отчета с помощью процедуры WEB.SHOW_DOCUMENT " приведен пример запуска отчета в Web .

    Листинг 7.5. Запуск отчета с помощью процедуры WEB.SHOW_DOCUMENT

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

    В лабораторной работе рассматривается процесс построения простых отчетов (документов для печати) с использованием среды разработки Oracle Reports Developer 6i (в частности программы Oracle Report Builder).

    Справочные материалы

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

    Guide60.pdf Oracle Forms Developer and Oracle Reports Developer

    or_buildrep60.pdf Oracle® Reports Developer Building Reports Release 6i, A73172-01

    Задание

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

    Табличный отчет с данными о Дисциплине, Преподавателе и средней оценке которую он поставил.

    Отчет с группировкой данных по схеме:

    Дата Выставления Оценки

    Количество выставленных преподавателем оценок

    Матричный отчет с группировкой по схеме:

    Дата Выставления Оценки

    Отчет с диаграммой по любой группе и дисциплине (например MP50/FISIKA), результатом отчета должны быть данные о числе оценок в указанных ниже диапазонах и диаграмма:


    Работа с Oracle Reports Developer

    Основные “Быстрые” клавиши:

    F2 – Report Editor (Редактор отчета)

    F3 – Object Navigator (Навигатор Объектов), в котором отражена структура элементов создаваемого приложения

    F4 – Property Palette (Палитра Свойств), окно со списком свойств редактируемого объекта формы

    Ctrl-R – Обновить отчет (перечитать данные из БД, на основе которых построен отчет)

    Файлы создаваемые Report Builder

    В ходе работы Report Builder создает (может создавать) файлы следующих типов:

    *.RDF – Файл отчета построенного в Reports Builder 6i

    *.REP – Файл отчета, подготовленный для выполнения

    Построение отчетов в Reports Builder

    Отчет в Reports Builder состоит из описания данных (служащих основой для отчета), правил форматирования отчета на странице, и специальной формы для ввода параметров отчета (для параметризированных отчетов).

    Работа с Reports Builder во многом похожа на работу с Forms Builder (см. предыдущую лабораторную работу). Каждый отчет представлен как модуль в дереве объектов (называемый по умолчанию MODULE1, MODULE2, …). В состав отчета входят:

    Модель Данных (Data Model), которая является описанием выборки данных из БД, на основе которой строится отчет. Модель создается с помощью специального графического редактора, который позволяет конструировать предложения SQL.

    Модель разметки (Layout Model). Данная модель определяет, каким образом на странице отчета следует разместить данные (поля для вывода значений)

    Форма параметров (Parameter Form).

    Для интерактивного просмотра результатов работы над отчетом существует специальный режим просмотра отчета – LivePreviewer, в котором на экран выводятся отчет в его окончательном виде, так как он будет выглядеть при печати. В таком режиме Reports Builder использует данные из Модели Данных и правила разметки, определенные в Модели разметки, при этом отчет можно не только просматривать, но и редактировать – изменять используемые шрифты, расцветку, расположение блоков отчета на странице.

    По окончании проектирования создаются файлы отчетов, подготовленные для выполнения с помощью специальной среды Reports Runtime (*.REP файлов). Конечный пользователь, используя Reports Runtime и .REP файлы отчетов, может выполнять просмотр и печать нужных ему документов.

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

    В примере отчеты построены на основе данных из БД, схема которой подставлена на рисунке:


    База данных предназначена для хранения данных о рейтинге (оценках) студентов по различным дисциплинам. Основная таблица – MARK, в ней указаны оценки и даты их получения, другие таблицы детализируют данные об оценках, вводя дополнительные «измерения», по преподавателям, дисциплинам, студентам, группам, факультетам. SQL сценарий с описанием схемы таблицы и исходные данные приведены в файлах lab7schema.sql и lab7data.sql соответственно.

    Создавать отчеты формы в Reports Builder можно либо вручную, либо с помощью Мастеров. Мастер это последовательность вопросов, которые, Reports Builder задает разработчику, и по полученным ответам генерирует форму.

    Читайте также: