使用智能计算的方式

对于块存储多维数据集,默认情况下会启用智能计算。运行第一个完整计算时, Essbase 会计算每个块。重新计算整个多维数据集时, Essbase 会检查每个块以查看其是否标记为干净或脏。避免在部分多维数据集计算期间进行不必要的重新计算。

本节提供有关打开和关闭智能计算以及将其用于不同类型的计算的信息。

打开或禁用智能计算

默认情况下,为 Essbase 块存储多维数据集启用智能计算。还可以使用 UPDATECALC 配置设置或计算脚本中的 SET UPDATECALC 命令将其打开或关闭。

默认情况下,智能计算处于打开状态。要更改默认值,请使用 UPDATECALC 配置设置。

要在计算脚本的持续时间内打开和关闭智能计算,请在计算脚本中使用 SET UPDATECALC 命令。

用于默认完整计算的智能计算

在对 Essbase 块存储多维数据集执行完全计算 (CALC ALL) 时,智能计算具有显著的性能优势。如果执行完整计算,请打开智能计算(默认值)以利用其性能优势。

注意:

使用智能计算时,请注意智能计算的限制中的信息。

第一次计算

首次完整计算多维数据集时, Essbase 会计算每个块。无论智能计算是打开还是关闭,性能都是相同的。

正在重新计算

在打开智能计算的情况下对多维数据集进行完全重新计算时, Essbase 会检查每个块,以查看其是否标记为干净或脏。请参阅智能计算和数据块状态

检查数据块具有 5% 到 10% 的性能开销,与启用智能计算所获得的性能相比,性能开销微不足道。

但是,如果重新计算一个数据库,其中大约 80% 以上的值已更改,则智能计算的开销可能会超过优势。在这种情况下,请关闭智能计算

计算脚本的智能计算,部分计算

如果计算脚本仅部分计算块存储多维数据集,则除非使用 SET CLEARUPDATESTATUS 命令,否则 Essbase 不会将计算的块标记为干净。

使用 SET CLEARUPDATESTATUS 可避免不必要的重新计算。

Essbase 在完全计算 (CALC ALL) 中计算数据块时,或者在一个 CALC DIM 命令中计算所有维时,会将数据块标记为干净。请参阅智能计算和数据块状态

在任何其他计算中,除非您在计算脚本中使用 SET CLEARUPDATESTATUS 命令,否则 Essbase 不会将计算的数据块标记为干净。例如,如果在两次计算通过中计算数据库的子集或计算数据库,除非调用 SET CLEARUPDATESTATUS,否则 Essbase 不会将计算的块标记为清除。

以下计算脚本不会导致 Essbase 将计算的数据块标记为干净:

FIX("New York")
   CALC DIM(Product, Measures);
ENDFIX
CALC DIM(Measures, Product);
CALC DIM(Market, Year, Scenario);