The use of aggregation functions impacts the performance of a report to some extent. This behavior is expected because aggregation involves the summarizing of the records in some form. Therefore, the amount of aggregate information required adds to the overhead of the report performance.
Look ahead aggregates, for example, cause the report to retrieve all records before it is able to calculate the expression that is using the look ahead aggregate. Whenever possible, it is preferable to use running aggregates, which are calculated as data is being retrieved. For more information about running and look ahead aggregates, please refer to the Actuate Online Help.
If possible consider creating calculated fields on business components using the aggregate functions rather than doing the aggregation in Actuate, or a combination.
NOTE: You cannot sort on calculated fields within the Siebel application or define a search specification on the reports object on such fields.
Table of Contents
By default, when a report is created by Actuate it includes a table of contents. The creation of the table of contents can slow down the report if it is complicated. You can disable the table of contents by setting the TocAddComponent property to TOCSkip and the TocAddContents property of the Rpt component to FALSE.
If a report is configured to do a large amount of sorting in memory, or arrays are being used to accumulate data, the memory usage of the report will increase. If it increases too much, then the report may spend more time paging memory, thus increasing the run time.
The more complex a report becomes, the greater the chance that its performance is affected. Other general items that can affect performance are:
• Frequently calling Fetch( ), Compare( ), OnRow(), Finish(), and other row methods in a large report
• Lookup methods within inner loops as they are executed many times
• Non-simple inner loops resulting in much processing for each inner record