На основе отчета "один-ко-многим" можно легко разработать и более сложные отчеты. Для этого необходимо детальную полосу данных связать с новыми детальными полосами и настроить по описанной методике отношение "один-ко-многим".

Группирующий отчет

Отчеты, работающие с базами данных, часто должны отображать данные с различными уровнями группировки. Обычно группировка осуществляется в наборе данных, если он создается на основе запроса SQL с применением оператора GROUP BY. НО В самом наборе данных невозможно предусмотреть оформление групп записей, однако это можно сделать в отчете.

Для полосы данных, которая отображает данные из просмотра с группировкой, можно создать полосы фуппового заголовка и группового окончания. Для этого используются свойства GroupDataview и GroupKey. Первое должно указывать на объект группирующего просмотра, а второе задает поле или несколько полей, по которым осуществляется группировка. Применительно к оформлению отчета это означает, что при изменении значения группового ключа будут напечатаны полосы фуппового заголовка и окончания.

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

Кроме этого, для полос фуппового заголовка необходимо в свойстве ControllerBand задать основную полосу данных и настроить свойство BandStyle. Для группового заголовка в редакторе Band Style Editor в фуппе Print Location устанавливается флажок Group Header (G), а для полосы группового окончания - флажок Group Footer (g).

Обычно фуппирующие запросы SQL используют афегатные функции для вычисления одного или нескольких величин по всей группе. Чаще всего это общая денежная сумма или общее количество. Такие величины удобно размещать в полосах группового окончания.

Использование вычисляемых значений

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

К агрегатным относятся следующие функции:

□ AvG - вычисление среднего;
□ COUNT - подсчет числа элементов множества;
□мах - нахождение максимального значения;
О min - нахождение минимального значения;

□ SUM - суммирование.

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

Рассмотрим все эти элементы оформления.

Вычисляемые значения по одному источнику

Для вычисления агрегатного значения одного или нескольких полей одного источника данных используются два элемента оформления.

Элемент calcText позволяет отобразить результат вычисления на полосе отчета. Так же, как и обычный элемент DataText, его необходимо связать с просмотром И ПОЛеМ. ДЛЯ ЭТОГО ИСПОЛЬЗУЮТСЯ ЖЖСТВа DataViewIi DataField соответственно.


⇐ Предыдущая страница| |Следующая страница ⇒

Программирование в Delphi 7



Новости за месяц

  • Август
    2017
  • Пн
  • Вт
  • Ср
  • Чт
  • Пт
  • Сб
  • Вс