Описание разработки отчета "Журнал недостоверных значений"

Oracle BI Publisher позволяет создавать отчеты используя различные источники данных.
При выполнении лабораторной работы в качестве источника дынных использовался SQL запрос.
Для создания отчета необходимо построить SQL запрос и определить параметры для отбора. Так в качестве параметров, задаваемых пользователем выбраны поля: type, nserv, tstamp.
Oracle BI Publisher не позволяет параметризовать имя таблицы при использовании SQL запроса. В связи с этим необходимо разработать несколько отчетов, каждый из которых будет отображать недостоверные значения в некотором масштабе времени (h2, h3, h4, h5).
Для каждого из выбранных ранее параметризуемых полей необходимо с отчете создать параметры с именами pType, pServ, pStamp соответственно и параметр pH для отображения используемой таблицы данных. Для параметра pH задать значение по умолчанию h2.
В результате получен запрос:

SELECT
  s.code, s.name, s.unit, 
  h.a_val a_val, h.a_count
FROM
  airs.svodcode s
  LEFT OUTER JOIN h2 h ON (s.code = h.code)
WHERE
  s.type = :pType AND s.nserv = :pServ 
  AND h.tstamp = :pStamp AND h.a_stat = '1

Этот запрос используется для построения отчета в часовом интервале времени (данные получаются из таблицы h2), для построения отчетов в других интервалах достаточно просто изменить имя таблицы в указанном запросе на h3, h4, h5.
Для удобства работы пользователя с отчетом необходимо предоставить ему списки возможных значений параметров. Для этого необходимо создать в среде Oracle BI Publisher при разработке отчета списки значений.
Для параметра pType – список значений pTypeList с типом меню и предопределенными значениями:

Метка Значение
Аналоговые сигналы a
Расчетные значения m
Дискретные сигналы d
Специальные значения s

Для параметра pServ – список значений pServList с типом меню и предопределенными значениями:

Метка Значение
Общестанционное оборудование 0
Оборудование блока №1 1
Оборудование блока №2 2
Оборудование блока №3 3

Для параметра pStamp – список значений с типом SQL запрос:

select distinct tstamp from h2 order by 1 desc

Оператор DISTINCT используется для получения списка неповторяющихся значений из базы данных.
После создания списков-значений, их необходимо сопоставить параметрам.
Oracle BI Publisher позволяет автоматически сгенерировать форму отчета и просмотреть результаты выполнения sql запроса в формате XML.
Oracle BI Publisher может работать с шаблонами в различных форматах, наиболее удобным для использования является rtf. Шаблон можно создать с помощью текстового процессора MS Office Word с предустановленной надстройкой Oracle BI Publisher.
При разработке шаблона для отчета «Журнал недостоверных значений» следует предусмотреть отображение параметров отбора в шапке. Oracle BI Publisher не позволяет превращать переданные на сервер параметры обратно в метки, поэтому необходимо создать текстовые параметры: pHName – Уровень истории, pTypeName – Тип сигнала, pServName – Группа оборудования, pStampName – Времянной ряд.
<?param@begin:pHName?><?param@begin:pTypeName?><?param@begin:pServName?><?param@begin:pStampName?>
Масштаб времени: <?$pHName?>
Тип сигнала: <?$pTypeName?> 
Группа оборудования: <?$pServName?>
Времянной ряд: <?$pStampName?>

Аналогично нужно создать отчеты и для других масштабов времени h3, h4 и h5.
Учитывая указанные недостатки Oracle BI Publisher целесообразно разработать пользовательский интерфейс используя язык разметки HTML, устраняющий необходимость ввода параметров для шапки и объединяющий отчеты для разных масштабов времени.