Учебно-справочное пособие по СУБД Informix

         

Формат блока REPORТ. (Генерация отчетов).



Формат блока REPORТ. (Генерация отчетов).

REPORT report-name (argument-list)

DEFINE variable-list { type | LIKE table-column | RECORD { LIKE table.* | variable-list type [,...] END RECORD } }[,...]

[OUTPUT по умолчанию:

[REPORT TO { "filename | PIPE "program" | PRINTER } ] SCREEN [ LEFT MARGIN integer ] 5 [ RIGHT MARGIN integer ] 132 [ TOP MARGIN integer ] 3 [ BOTTOM MARGIN integer ] 3 [ PAGE LENGTH integer ] 66 ]

[ORDER [EXTERNAL] BY sort-list ] подсписок переменных, входящих в аргументы
FORMAT EVERY ROW простейший оператор формата.
В этом случае нельзя использовать контрольные блоки.
либо
FORMAT включает несколько контрольных блоков, которые содержат обычные операторы 4GL и операторы применимые только в REPORТ ON EVERY ROW выводит строку statement . . . FIRST PAGE HEADER выводит заголовок первой страницы statement . . . ON LAST ROW окончание REPORT (подведение итогов) statement . . . PAGE HEADER заголовок каждой страницы statement . . . PAGE TRAILER в конце каждой страницы statement . . . BEFORE GROUP OF variable в начале группы строк statement . . . . . . AFTER GROUP OF variable в конце группы строк statement . . . . . . END REPORT


В контрольных блоках кроме обычных операторов 4GL используются: NEED num-expr LINES если на странице осталось менее expr строк, то начать с новой страницы. PAUSE ["Сообщение"] вывести Сообщение на экран и ждать нажатия CR PRINT FILE "filename" вывести на печать содержимое файла

SKIP { integer LINE | TO TOP OF PAGE }

PRINT список выражений [;] вывести на печать [не переводя строку]

в REPORT можно использовать следующие функции:

num-expr SPACES вставить пробелы char-exp WORDWRAP [RIGHT MARGIN integer] вывести длинную строку

LINENO номер строки на странице PAGENO номер печатаемой страницы

Агрегатные функции: [GROUP] functioп [WHERE условие] [для группы строк] применить функцию [только для строк, удовлетворяющих условию] где functioп может быть: { COUNT(*) | PERCENT(*) | { SUM | MAX | MIN | AVG }(expr) } в процентах от среднее общего кол-ва строк



Содержание раздела