...
Upon processing, the pre-processor generates a new Function based on the function type given in the attribute 'wizard:aggregation-type'. The function must implement the 'AggregateFunction' interface. The function's group property will be set to the design-time value of 'wizard:aggregation-group'. If the function implements the 'FieldAggregateFunction' interface, the function's 'field' property will be set to the element's 'core:field' design-time property. The name of the function will be auto-generated and will be stored in the element's 'core:field' attribute, replacing the user's field definition.
If no 'wizard:aggregation-group' property is set, the pre-processor will automatically pick the name of the group where this field is placed in. If the field is placed in the itemband or page-header/footer, the innermost group is used. If the field is placed in the report-header/footer, the group will evaluate to <null> and the aggregation will run for the whole report.
Advantages
- Simplifies the most common usage of aggregations.
...
- Only generates display-aggregations. The aggregation-result cannot be reused in a computation.
- Only works on fields that exist at the beginning of the report processing. It cannot work for fields that are dynamically generated during the report processing.