21 动态计算数据值
要提高块存储计算性能,可以对 Essbase 多维数据集中的选择值应用动态计算。动态计算通过在检索时计算某些成员来提高效率。
在设计计算多维数据集的方式时,您可能会发现,在检索数据时更有效地计算某些成员组合,而不是在批处理数据库计算期间预先计算成员组合。
动态计算某些数据库值可以显著提高整体数据库计算的性能。
通过动态计算某些数据值,您可以通过以下方式减少资源使用:
-
数据库的批处理计算时间更快,因为要计算的成员组合较少。
-
磁盘使用量减少。由于需要存储的计算值越少,数据库和索引大小就越小。
-
重组时间减少。在密集维中添加或删除 Dynamic Calc(动态计算)成员不会更改数据块大小,因此不需要重构。
-
减少备份数据库所需的时间。由于数据库大小较小,因此执行备份所需的时间较少。
将成员标记为动态计算时, Essbase 不会在批处理计算期间(例如,在 CALC ALL 期间)计算其值。而是在查询时计算数据值(例如,当用户从 Smart View 中检索数据时)。动态计算的值不会存储,但会为每个检索重新计算。
如果检索从动态计算子成员计算的父值,则 Essbase 必须在计算父值之前动态计算子成员组合。
Essbase 动态计算的数据值可能需要较长时间才能检索。您可以估计动态计算成员的检索时间。
注意:
对于标准维, Dynamic Calc(动态计算)属性不适用于聚合存储 (ASO) 数据库。在 ASO 中,将动态计算所有父代成员和具有公式的所有成员。