Обзор процесса создания приложений. Моделирование данных отчета, страница 13

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

Следующий экран позволяет установить структуру ячеек. Как правило, применяется одна из стандартных функций агрегирования, например Sum, с помощью которой значения некоего столбца суммируются в каждой ячейке. В этом примере в каждой ячейке суммируются блюда для тех строк запроса, которые соответствуют виду блюда и основе, идентифицирующим данную ячейку. Если таких строк нет, то в ячейке отразится NULL-значение.

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

Стандартный экран Labels мастера позволяет модифицировать ярлыки для различных столбцов, появляющиеся в необычных местах матричного отчета, поскольку ярлыки столбцов и строк приходят вместе с данными. Рекомендуется полностью уничтожать ярлыки столбцов, так как они просто повторяют ярлыки данных. Наконец, с помощью обычного экрана Template можно выбрать шаблон для компоновки отчета. На рис. 32 представлен отчет, полученный после очистки размера ячеек и удаления ярлыков.

Рис. 28. Матричный отчет "Количество блюд с различной основой"

Узнать, что реально выполняет этот отчет, позволяет модель данных, генерируемая в Report Wizard (рис. 28). Из рисунка видно, что созданы две группы, связанные с запросом как строки и как столбцы матрицы. Новый компонент этой модели данных - так называемая группа векторного произведения (cross-product), в которую входят две эти группы. Ее функции заключаются в создании векторного произведения уникальных значений групп, расположенных в ней. Элементами группы векторного произведения являются ячейки матричного отчета.

Рис. 29. Модель данных матричного отчета "Количество блюд с различной основой"

Отчеты экспортирования файлов данных

Хотя отчеты экспортирования файлов данных не входят в состав официально принятых стилей отчетов, они широко применяются среди разработчиков отчетов Developer/2000. Отчет экспортирования файла данных представляет собой текстовый файл данных формата ASCII, предназначенный обычно для экспорта в другие программные системы. Например, одно из назначений подобных отчетов - экспорт данных в электронную таблицу для последующего анализа, другое - экспорт отчета в текстовый редактор для форматирования. В версии 2 Developer/2000 такой отчет создать сравнительно несложно, но при этом требуется большее, чем просто использование Report Wizard.

Ниже приведен пример создания набора данных из информации таблиц Вид блюд и Блюда, в котором перечисляются название, вид и масса порции всех субъектов таблицы. В Report Wizard для нового отчета нужно выбрать на экране Style стиль табличного отчета, а затем на экране Data ввести следующий SQL-оператор SELECT:

SELECT '"'||Блюдо||'", "'||Вид||'", '||Выход Output

FROM Вид_блюд, Блюда

WHERE Вид_блюд.В = Блюда.В

ORDER BY 1;

Результат выполнения этого оператора - серия конкатенированных столбцов, разделенных запятыми, причем значение каждого столбца заключено в двойные кавычки. Этот формат, называемый форматом разделения запятыми для экспорта данных (comma-separated data export format), является обычным форматом для многих программных систем. Запятые ограничивают значения, а кавычки обеспечивают надлежащую обработку пробелов, запятых и NULL-значений импортирующим программным средством. Псевдоним Output (выходные данные) позволяет ссылаться на него на последующих экранах мастера.