CALCLIMITFORMULARECURSION

When set to true, prevents the server from going beyond 31 formula execution levels.

This setting does not apply to aggregate storage databases.

Syntax

CALCLIMITFORMULARECURSION TRUE | FALSE

TRUE Imposes a limit of 31 on the number of formula execution levels.
FALSE Imposes no limit on the number of formula execution levels. The default setting is FALSE.

Description

CALCLIMITFORMULARECURSION limits the number of execution levels of Analytic Services formulas.
If a calculation involves formulas referencing one or more members from sparse dimensions and there are formulas along dense dimension members, the formula execution may be recursive (have multiple execution levels). By default, Analytic Services does not limit the number of formula execution levels. However, formulas with excessive execution levels may crash the server. Setting CALCLIMITFORMULARECURSION to TRUE prevents excessive execution levels from crashing the Analytic Server.

If a formula reaches 31 execution levels and CALCLIMITFORMULARECURSION is set to TRUE, Analytic Services stops processing that formula and writes error messages in the application log.
If a formula reaches 31 execution levels and CALCLIMITFORMULARECURSION is set to FALSE, Analytic Services continues processing that formula and writes an information message in the application log.

Notes

Beginning in release 6.1.4, a limit was imposed on the number of formula execution levels; if you installed 6.1.4 to fix problems with server crashes due to certain spreadsheet retrievals containing member formulas and dynamic calculations, re-enable the formula execution limit.

Example

If you added a member named "Payroll Share In Similar Markets" to Sample Basic and used the following formula to calculate it, you would get a recursion error.

IF (@ISUDA(Market, "Major Market"))
   Payroll / @SUMRANGE(Payroll, @UDA(Market, "Major Market"));
ELSEIF (@ISUDA(Market, "Small Market"))
   Payroll / @SUMRANGE(Payroll, @UDA(Market, "Small Market"));
ENDIF;

If CALCLIMITFORMULARECURSION is set to FALSE, Analytic Services completes processing the formula, if possible. If the formula requires too many levels of recursion, the Analytic Server may crash. Analytic Services also writes an error in the application log mentioning that the formula requires more than 31 levels of recursion.

If CALCLIMITFORMULARECURSION is set to TRUE, Analytic Services stops processing the formula and writes an error in the application log mentioning that the formula requires more than 31 levels of recursion.

©2004 Hyperion Solutions Corporation. All Rights Reserved.
http://www.hyperion.com