Optimization

To reduce communication between client and database, Application Studio attempts to cluster report formulas. Clustered formulas are handled by a single database request. However, there are certain practices that destroy clustering and so degrade performance. If reports perform slowly you should investigate whether these practices have been used.

These cases destroy clustering:

  • Use of a function (for example ROA, ROC etc.) as a parameter of another function.
  • Use of a function within an IF statement.
  • Use of a function in a conditional cell format. Conditional formula calculations are not clustered in Application Studio.

In each case a solution is to put the function in a cell in a hidden row or column of the report and to refer to it in the function, statement or cell format.

These cases also affect clustering:

  • Use of invalid coordinates in an ROC or CELLGET function.

    This can occur if, for example, a variable contains an element from the wrong dimension or if a dimension contains an empty string. Application Studio breaks each cluster into ever smaller segments in an attempt to identify the invalid coordinates. This can significantly reduce performance.

  • Use of WBC formulas in a report. The value is written back to the database each time the formula is calculated.

    Use WBC formulas only within actions.

  • Redundant report cells

    During the design of a report you may enter, for example, experimental values in a working area of cells. Remove these values if they are not used in the final version of the report.