有效交叉点示例

本节将提供有效交叉点组和有效交叉点规则示例,举例说明几个简单、复杂和边缘案例场景。

示例:锚点和非锚点维

锚点维的选择至关重要。请考虑以下示例,该示例基于锚点维定义生成不同的结果:

  • 有效交叉点组 1 将“实体”定义为锚点维,将“产品”定义为非锚点维。

  • 有效交叉点组 2 的定义正好相反,即,将“产品”定义为锚点维,将“实体”定义为非锚点维。

表 18-1 示例 - 锚点维为实体

有效交叉点组 锚点维 - 实体 非锚点维 - 产品
1 DESC(500 - Manufacturing) - 未选定的成员是有效成员 DESC(P_TP1 - Computer Equipment)

组 1 表示 Manufacturing 的后代实体只对 Computer Equipment 的后代产品有效。任何其他产品都对 Manufacturing 的后代无效。除 Manufacturing 的后代以外的所有其他实体都对所有产品有效,其中包括 Computer Equipment 的后代。

表 18-2 示例 - 锚点维为产品

有效交叉点组 锚点维 - 产品 非锚点维 - 实体
2 DESC(P_TP1 - Computer Equipment) - 未选定的成员是有效成员 DESC(500 - Manufacturing)

组 2 表示 Computer Equipment 的后代产品只对 Manufacturing 的后代实体有效。任何其他实体都对 Computer Equipment 的后代无效。除 Computer Equipment 的后代以外的所有其他产品都对所有实体有效,其中包括 Manufacturing 的后代。

注意:

锚点维的选择十分重要。如果选择错误的锚点维,则将获得明显不同的结果。

示例:所需维

在以下示例中,如果非锚点维不是所需维,对于不包含非所需维的多维数据集,应用程序将计算有效交叉点组中的所有其余维交叉点。此行为将导致对只有一个有效维的有效交叉点组进行计算。

表 18-3 示例 - 必需的非锚点维与非必需的非锚点维

有效交叉点组 锚点维 - 实体 非锚点维 - 产品
1 DESC(500 - Manufacturing) - 未选定的成员是有效成员 DESC(P_TP1 - Computer Equipment) - 非必需

在组 1 中,产品维不是必需的,未选定的实体是有效实体。因此,如果表单或业务规则的多维数据集在运行时不包括产品维,则应用程序在计算实体维选择时,对于不包含产品维的多维数据集,会将所有实体标记为有效实体。

表 18-4 示例 - 必需的非锚点维与非必需的非锚点维

有效交叉点组 锚点维 - 实体 非锚点维 - 产品
2 DESC(500 - Manufacturing) - 未选定的成员是无效成员 DESC(P_TP1 - Computer Equipment) - 非必需

在组 2 中,产品维不是必需的,未选定的实体是无效实体。因此,如果多维数据集不包括产品维,则应用程序在计算实体维选择时,会将 Manufacturing 的后代以外的所有实体标记为无效实体。此后,不使用该产品维的所有多维数据集都将只允许在 Manufacturing 实体的后代中输入数据。

注意:

请仔细考虑某个非锚点维是否是必需维,尤其是有效交叉点组只有一个有效维时。此外,为锚点维成员选择未选定的成员是有效成员选项也会对有效交叉点的系统行为产生重要作用。请参阅“有效交叉点示例”。

示例:未选定的成员是有效成员

在以下示例中,两个交叉点组是有效组。在其中一个组中,锚点维未选定的成员是无效成员(此选项被清除)。在另一个组中,锚点维未选定的成员是有效成员(此选项被选中)。

表 18-5 示例 - 未选定的成员是有效成员

有效交叉点组 锚点维 - 帐户 非锚点维 - 实体
1 IDESC(BS - Balance Sheet) - 未选定的成员是无效成员 000 - 无部门
2 IDESC(GP - Gross Profit) - 未选定的成员是有效成员 IDESC(403 - Sales)

由于组 1 将所有未选定的成员定义为无效成员,因此,应用程序将 Balance Sheet 的非包含后代标记为无效后代。Gross Profit 不是 Balance Sheet 的包含后代。因此,即使组 2 明确说明 Gross Profit 的包含后代对 Sales 实体的包含后代有效,组 1 的无效定义也会覆盖相同锚点维成员集的所有其他有效交叉点。

示例:相同的有效交叉点组存在冗余或重叠的有效交叉点规则

当相同的有效交叉点组内存在有效交叉点规则且产生任何冗余或重叠时,如果满足任一有效交叉点组规则条件,则系统会将交叉点标记为有效。

表 18-6 示例 - 相同的有效交叉点组存在冗余或重叠的有效交叉点规则

有效交叉点规则 锚点维 - 帐户 非锚点维 - 实体
1 IDESC(GP - Gross Profit) - 未选定的成员是有效成员 IDESC(403 - Sales)
2 IDESC(NI - Net Income) - 未选定的成员是有效成员 IDESC(TD - Total Department)

由于 Gross Profit 是 Net Income 的后代,且 Sales 是 Total Department 的后代,因此 Gross Profit 的包含后代对 Total Department 的所有包含后代均有效。规则 1 是规则 2 的子集,因此规则 1 实际上是“无操作”规则,并非必要规则。Gross Profit 帐户的包含后代没有限制,仅对 Sales 实体的包含后代有效。

示例:不同的有效交叉点组存在冗余或重叠的有效交叉点规则

当有效交叉点规则位于不同的有效交叉点组中且产生任何冗余或重叠时,仅当交叉点满足所有有效交叉点组的要求时,系统才会将该交叉点标记为有效。

在以下示例中,不同的组中存在冗余或重叠规则:

表 18-7 示例 - 不同的有效交叉点组存在冗余或重叠的有效交叉点规则

有效交叉点组 锚点维 - 帐户 非锚点维 - 实体
1 IDESC(GP - Gross Profit) - 未选定的成员是有效成员 IDESC(403 - Sales) - 必需
2 IDESC(NI - Net Income) - 未选定的成员是有效成员 IDESC(TD - Total Department) - 非必需

由于组 1 对 Gross Profit 帐户的包含后代对 Sales 实体的包含后代的有效性施加了更强的限制,因此,应用程序对这些交叉点将强制执行该组。其他非 Gross Profit 帐户仍可使用 Total Department 实体的所有包含后代,但 Gross Profit 帐户的包含后代必须使用 Sales 实体的包含后代。