SET CLEARUPDATESTATUS 的示例
这些示例演示了在 Essbase 块存储多维数据集的智能计算的计算脚本中使用 SET CLEARUPDATESTATUS 的不同方法。
对于这些示例,假设使用示例基本数据库的方案,其中稀疏维是市场和产品。纽约是市场维度的成员。智能计算已打开,这是默认设置。
图 20-1 基本示例中的标准维

示例 1:CLEARUPDATESTATUS AFTER
在以下计算脚本中, Essbase 沿“产品”维搜索纽约的脏父块(例如“纽约”->“Colas”)。
SET CLEARUPDATESTATUS AFTER;
FIX("New York")
CALC DIM(Product);
ENDFIX如 AFTER 参数所指定,将计算脏块并将其标记为干净。
Essbase 不会将 0 级块标记为干净块,因为不会计算它们。
示例 2:CLEARUPDATESTATUS ONLY
在以下计算脚本中, Essbase 沿“产品”维搜索纽约的脏父块(例如“纽约”->“Colas”)。
SET CLEARUPDATESTATUS ONLY;
FIX("New York")
CALC DIM(Product);
ENDFIX如 ONLY 参数所指定,脏的父块标记为干净,但不会进行计算。
Essbase 不会将 0 级块标记为干净块,因为不会计算它们。例如,如果“New York(纽约)”>“100-10”为“dirty(脏)”,则它仍为“dirty(脏)”。
示例 3:CLEARUPDATESTATUS OFF
在以下计算脚本中, Essbase 首先计算多维数据集中的所有脏块。
SET CLEARUPDATESTATUS OFF;
CALC ALL;
CALC TWOPASS;
SET CLEARUPDATESTATUS ONLY;
CALC ALL;如 OFF 参数所指定,计算的块将保持脏状态。
然后, Essbase 将计算“帐户”维上的两个传递成员。由于数据块仍标记为脏,因此 Essbase 会重新计算它们。同样,它不会将计算的数据块标记为干净。
然后, Essbase 将搜索数据库中的所有脏块,并将它们标记为干净(由 ONLY 参数指定)。
最终 CALC ALL 命令不会计算更多块,因为它们都标记为干净。