混合模式下的解析顺序

Essbase 中的解析顺序确定在混合模式下执行动态计算的顺序。您可以定制解析顺序,也可以接受默认解析顺序,默认解析顺序已针对高性能和相关性分析进行了优化。

解析顺序的概念适用于动态计算执行,无论该计算是由动态成员公式还是计算脚本中的动态相关性启动。在多维查询中对某个单元格求值时,解析计算的顺序可能不明确,除非指定了解析顺序以指明所需的计算优先级。

您可以设置维或成员的解析顺序,也可以使用默认的 Essbase 解析顺序。您可以设置的最小解析顺序为 0,最大解析顺序为 127。解析顺序值越大,对相应成员的计算就越晚;例如,解析顺序为 1 的成员先解析,解析顺序为 2 的成员后解析。

启用混合模式后,默认解析顺序(也称为计算顺序)与块存储数据库的该顺序几乎一致:

维/成员类型 默认解析顺序值
存储的成员 0
稀疏维成员 10
密集账户维成员 30
密集时间维成员 40
密集常规维成员 50
属性维成员 90
两遍动态成员 100
MDX 计算成员或命名集(已在 MDX WITH 中定义) 120

总之,混合模式下的默认解析顺序规定,先计算存储的成员,再计算动态计算成员;先计算稀疏成员,再计算密集成员;各自按照大纲中的显示顺序(从上到下)进行计算。

没有为其指定解析顺序的动态成员(带或不带公式)继承其维的解析顺序,除非它们被标记为两遍。

两遍计算是块存储模式下可以应用的一项设置,适用于带有必须计算两遍才能生成正确值的公式的成员。

注:

请勿对混合模式多维数据集使用两遍计算。请仅使用解析顺序

两遍计算在混合模式下不适用,标记为两遍的所有成员将在属性之后最后才计算。在混合模式下,如果默认解析顺序不符合需求,应实施定制解析顺序,而非两遍计算。

混合模式下的默认解析顺序针对以下方案进行了优化:

  • 向前引用,其中的动态成员公式引用了按大纲顺序稍后才会出现的成员。混合模式下没有大纲顺序相关性。

  • 基于大纲顺序对子值聚合更接近使用等效公式进行聚合。

  • 动态密集成员是稀疏公式内的相关项。在混合模式下,如果稀疏公式引用了密集动态成员,该引用将会被忽略,因为系统会先计算稀疏维。要更改这种情况,请给稀疏维分配一个比密集维的解析顺序更高(更晚计算)的解析顺序值。

定制解析顺序

如果您需要调整混合模式下动态计算的行为,可以通过定制维和成员的解析顺序来实现此目标,并且无需对大纲进行重大更改。

如果实施定制解析顺序,它将覆盖默认解析顺序。如果成员或维具有相同的解析顺序,则采用它们出现在大纲中的顺序(从上到下)来解决冲突。

除非为特定成员定制解析顺序,否则顶级维成员的解析顺序应用于维中的所有动态成员。

要更改解析顺序,可在 Essbase Web 界面中使用大纲编辑器,或者使用 Smart View(请参见 "Changing the Solve Order of a Selected POV")。

您可以设置的最小解析顺序为 0,最大解析顺序为 127。解析顺序值越高意味着计算相应成员的时间越晚。

要探索解析顺序的用例,请参见应用程序工作薄库的 "Technical" 部分中的解析顺序模板。该库位于 Essbase 中的文件目录。

有关非混合模式下解析顺序的说明

在聚合存储多维数据集中:

  • 所有维的解析顺序都设置为 0。

  • 聚合以大纲顺序执行,以下情况除外:

    • 首先处理存储的层次成员。
    • 然后处理动态层次成员。

在非混合块存储多维数据集中,默认解析顺序如下

  • 先稀疏,后密集

  • 先账户,后时间

  • 属性排在最后

注:

如果手动将账户成员的解析顺序设置为高于时间成员的解析顺序,则将在动态时间序列成员之后对账户成员求值。