Иллюстрированный самоучитель по Delphi 7 для профессионалов

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

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

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

  • AVG – вычисление среднего;
  • COUNT – подсчет числа элементов множества;
  • МАХ – нахождение максимального значения;
  • MIN – нахождение минимального значения;
  • SUM – суммирование.

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

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

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

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

Элемент CalcText позволяет отобразить результат вычисления на полосе отчета. Так же, как и обычный элемент DataText, его необходимо связать с просмотром и полем. Для этого используются свойства DataView и DataField соответственно.

Кроме этого, элемент CalcText должен быть связан со специализированным элементом CalcController (см. ниже), который будет управлять процессом вычисления. Связывание осуществляется при помощи свойства Controller.

В свойстве CalcType задается одна из пяти перечисленных выше агрегатных функций.

Дополнительно, для функции COUNT можно настроить еще три свойства. При необходимости включить или отключить подсчет нулевых значений или пробелов используются булевские свойства countNulls и countBianks соответственно. А свойство Countvalue позволяет задать значение поля, которое будет учитываться при расчете функции, все остальные значения будут игнорироваться.

Вычисленное значение при сохранении может быть отформатировано в соответствии с шаблоном, заданным свойством DisplayFormat.

Для всех агрегатных функций можно задать момент начала вычислений. Для этого в свойстве initializer необходимо указать элемент оформления отчета, и при его печати начнется вычисление. Это может быть любой элемент, расположенный с элементом CalcText на одной полосе. Но желательно использовать для этого специализированный элемент calccontroller (см. ниже).

Примечание
Пример использования элемента оформления CalcText имеется в отчетах, рассмотренных нами выше
.

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

Свойство DestParam позволяет выбрать один из предопределенных или созданных разработчиком параметров отчета (свойство Parameters объекта отчета).

Свойство DestPiVar задает переменную отчета, в которую будет передано вычисленное значение (свойство pivars объекта отчета).

Затем параметр или переменная может быть использована для дальнейших вычислений или напечатана при помощи элемента DataText. В редакторе свойства DataField этого элемента (рис. 26.8) параметры и переменные отчета можно выбрать из списков Project Parameters и Post Initialize Variables.

Иллюстрированный самоучитель по Delphi 7 для профессионалов › Отчеты для приложений баз данных › Использование вычисляемых значений. Вычисляемые значения по одному источнику.
Рис. 26.8. Редактор свойства DataField

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.