日历公式递归
设置为 true 时,CALCLIMITFORMULARECURSION 配置设置会阻止 Essbase Server 超过 128 个公式执行级别。
CALCLIMITFORMULARECURSION 配置仅适用于块存储 (BSO) 数据库,不适用于聚合存储 (ASO) 数据库。
语法
CALCLIMITFORMULARECURSION TRUE | FALSE-
TRUE - 对公式执行级别数施加 128 的限制。这是默认设置。
-
FALSE - 对公式执行级别的数量不施加限制。
说明
CALCLIMITFORMULARECURSION 限制 Essbase 公式的执行级别数。如果计算涉及引用稀疏维中的一个或多个成员的公式,并且存在与密集维成员相关的公式,则公式执行可能是递归的(具有多个执行级别)。执行级别过高的公式可能会导致 Essbase Server 失败。将 CALCLIMITFORMULARECURSION 设置为 TRUE 可防止执行级别过高。
如果公式达到 128 个执行级别,并且 CALCLIMITFORMULARECURSION 设置为 TRUE(或默认值),则 Essbase 将停止处理该公式并在应用程序日志中写入错误消息。如果公式达到 128 个执行级别,并且 CALCLIMITFORMULARECURSION 设置为 FALSE,则 Essbase 将继续处理该公式并在应用程序日志中写入一条信息消息。
注意:
此设置不会影响 MDX 查询中的公式(例如,计算的成员)。
范例
如果将名为 Payroll2 的成员添加到 Sample Basic 中的 Measure 维,并使用以下公式来计算它,则如果 Market 具有 128 个以上的成员,则会出现递归错误:
Payroll / @SUMRANGE(Payroll, @IRDESCENDANTS(Market))