ASO 多维数据集中的计算顺序和求解顺序

Essbase 聚合存储 (ASO) 多维数据集的计算顺序与块存储多维数据集的计算顺序不同。存储的层次结构和属性维将合并,然后根据定义的解析顺序对动态层次结构进行求值。

对于聚合存储多维数据集, Essbase 按以下顺序计算数据:

  1. 聚合存储的层次和属性维的成员。 在内部优化成员和维的聚合顺序,并根据多维数据集大纲和现有聚合的性质进行更改。由于聚合是添加的,因此 Essbase 聚合维和成员的顺序不会影响结果。

    由于聚合存储多维数据集的内部聚合顺序不可预测,因此任何固有的舍入错误也不可预测。这些舍入错误是计算机计算中的预期行为,与相关数据值相比非常小。

  2. 计算动态层次维成员和公式。 对成员和公式的求值顺序由解析顺序属性定义,您可以为每个成员或维设置该属性。计算顺序可能会影响计算结果。

解决订单属性

解析顺序的概念适用于查询执行。在多维查询中对某个单元格求值时,解析计算的顺序可能不明确。要消除歧义,可以使用解析顺序属性指定所需的计算优先级。

注意:

最好通过在成员或维级别设置解析顺序属性来指定解析顺序。对于没有指定求解顺序的公式的成员,继承其维的解析顺序。具有没有指定解析顺序的公式的成员的解析顺序为零。

要更改解析顺序,可在 Essbase Web 界面中使用大纲编辑器,或者使用 Smart View 。要指定计算成员的解析顺序,可以使用 MDX 查询的带部分中的 solve_order 参数。

解析顺序属性的值确定 Essbase 计算公式的优先级。具有指定求解顺序的成员的公式按从最低求解顺序到最高解析顺序的顺序计算。可以指定 0 到 127 之间的解析顺序。默认值为 0。

可以在成员级别或维级别指定解析顺序。Essbase 使用以下信息定义计算优先级:

  1. 成员解析顺序

  2. 维解析顺序(没有公式的成员,您没有为其指定成员解析顺序,会继承其维的解析顺序)。没有为其指定成员解析顺序的公式的成员的解析顺序为零。)

    如果多个成员具有相同的求解顺序,则按其维在大纲中出现的相反顺序对成员进行求解。以后在大纲中出现的成员优先。

    对于在 MDX 查询中为块存储多维数据集定义的计算成员,领带情况计算顺序不同。

    注意:

    当成员公式依赖另一个成员的值后,具有公式的成员解析顺序必须高于它所依赖的成员。例如,在 ASOSamp.Basic 大纲中,“平均单位数/事务处理”取决于“单位数”和“事务处理数”的值。平均单位/事务处理的解析顺序必须高于单位和事务处理。

使用 Solve Order 属性的示例

以下示例基于 ASOSamp.Basic 多维数据集。为了消除查询结果中的歧义,该示例使用解析顺序属性指定所需的计算优先级。

下面所示的电子表格查询检索当前年度一月份和上一年度一月份的销售数量和事务处理数量的数据。“差异”成员显示本年度与上一年度之间的差异。“平均单位数/事务处理”成员显示每个事务处理的售出单位数的比率。

图 37-5 ASOSamp.Basic 立方体的电子表格查询结果显示两个比率之间的差异 (C12)


此图显示了电子表格查询的结果,如图像前面的文本中所述。

下图显示了这些成员的多维数据集大纲,以及应用于“差异”和“平均单位/事务处理”成员的公式。

图 37-6 ASOSamp.Basic Cube 显示度量、年份和时间维度


此图像显示大纲,如图像前面的文本中所述。

在计算每个事务处理的平均单位的差异(电子表格示例中的单元格 C12)时,结果可能是两个比率之间的差异,或者结果可能是两个差异的比率。结果取决于 Essbase 是否优先于“差异”公式或“平均单位/事务处理”公式。

解析顺序属性的值(附加到大纲中的成员)确定 Essbase 对公式进行求值的优先级。解析顺序设置越高,成员计算顺序就越晚。例如,解析顺序为 1 的一个公式在解析顺序为 2 的一个成员之前解析。

在本例中,如果“差异”成员的解析顺序低于“平均单位/事务处理”成员,则“差异”成员上的公式优先,结果是两个比率之间的差异。ASOSamp.Basic 多维数据集就是这种情况,因为差异成员的解析顺序是 10,平均单位/事务成员的解析顺序是 20。“差异”公式优先,因为“差异”成员的解析顺序较低。在电子表格示例中,查询的单元格 C12 的结果是两个比率之间的差异,如下表所示:

表 37-4 使用 Solve Order 属性指定两个比率之间的差异

成员 解析顺序 公式 差异与平均单位/事务处理的交集结果(单元格 C12)

差异

10

本年度 - 上一年度

本年度平均单位数/事务处理 - 上一年度平均单位数/事务处理

0.94894382(细胞 C6)-0.954252111(细胞 C9)=-0.005308291(细胞 C12)

平均单位/事务处理数

20

单位/事务处理

或者,如果您更改 ASOSamp.Basic 多维数据集,并且给“平均单位数/事务处理”成员提供的解析顺序低于“差异”成员,则“平均单位数/事务处理”成员上的公式优先,结果是两个差异的比率,如下面的表和电子表格示例所示:

表 37-5 使用解析顺序属性指定两个差异的比率

成员 解析顺序 公式 差异与平均单位/事务处理的交集结果(单元格 C12)

差异

20

本年度 - 上一年度

事务处理的单位/差异(本年度与上一年度)

10585(细胞 C10)/11340(细胞 C11)=0.933421517(细胞 C12)

平均单位/事务处理数

10

单位/事务处理

图 37-7 ASOSamp.Basic Cube 的电子表格查询结果,显示两个方差的比率 (C12)


此图显示了电子表格查询的结果,如图像前面的文本中所述。