CALCLIMITFORMULARECURSION
Lorsque la valeur est définie sur True, le paramètre de configuration CALCLIMITFORMULARECURSION empêche le serveur Essbase d'aller au-delà des 128 niveaux d'exécution de formule.
La configuration CALCLIMITFORMULARECURSION s'applique uniquement aux bases de données en mode "block storage" (BSO) et non aux bases en mode "aggregate storage" (ASO).
Syntaxe
CALCLIMITFORMULARECURSION TRUE | FALSE-
TRUE : impose une limite de 128 au nombre de niveaux d'exécution de formule. Il s'agit de la fonction par défaut.
-
FALSE : n'impose aucune limite au nombre de niveaux d'exécution de formule.
Description
CALCLIMITFORMULARECURSION limite le nombre de niveaux d'exécution des formules Essbase. Si un calcul implique des formules référençant un ou plusieurs membres de dimensions dispersées et qu'il existe des formules le long de membres de dimension dense, l'exécution de la formule peut être récursive (avoir plusieurs niveaux d'exécution). Les formules avec des niveaux d'exécution excessifs peuvent entraîner l'échec du serveur Essbase. La définition de CALCLIMITFORMULARECURSION sur TRUE empêche les niveaux d'exécution excessifs.
Si une formule atteint 128 niveaux d'exécution et que CALCLIMITFORMULARECURSION est défini sur TRUE (ou valeur par défaut), Essbase arrête le traitement de cette formule et écrit les messages d'erreur dans le journal de l'application. Si une formule atteint 128 niveaux d'exécution et que CALCLIMITFORMULARECURSION a la valeur FALSE, Essbase poursuit le traitement de cette formule et écrit un message d'information dans le journal de l'application.
Remarques :
Ce paramètre n'affecte pas les formules dans les requêtes MDX (par exemple, les membres calculés).
Exemple
Si vous avez ajouté un membre nommé Payroll2 à la dimension Measure dans Sample Basic et que vous avez utilisé la formule suivante pour le calculer, vous obtiendrez une erreur de récursivité si Market compte plus de 128 membres :
Payroll / @SUMRANGE(Payroll, @IRDESCENDANTS(Market))