数值范围属性
有时,您可以使用一个 Essbase 加载规则构建数字范围属性维,并将基本维的成员与范围关联。但是,如果范围大小不同,或者属性维中有多个级别,则必须在辅助步骤中构建关联。
在以下情况下,必须使用两个加载规则:一个用于构建属性维,另一个用于将属性与基本维的相应成员关联:
-
当不同成员的范围大小不同时。
例如,您可以为人口较小的城镇定义小范围,为中型和较大的城市定义较大的范围,为大都市定义大于 18,000,000 的范围。
-
当范围是多级别属性维的成员时。
例如,“人口”属性维可以具有第 1 层成员,这些成员将人口范围归类为“城镇”、“城市”和“大都市地区”,第 0 层成员表示范围。
下面所示的群体属性维展示了两种情况。填充是一个多层数字属性维,其中 0 级成员表示不同大小的范围。
图 14-7:具有不同大小范围的数字属性维

必须使用一个加载规则来构建填充维,使用另一个规则将填充维成员关联为基本维成员的属性。
构建可容纳范围的属性维
要构建可容纳范围属性成员的 Essbase 属性维,首先,创建使用生成、级别或父子构建方法的多维数据集。
在维构建规则中,指定属性维的名称及其关联的基本维,以及用于构建属性维的字段。
注意:
在以后的构建中,无法在现有成员之间插入属性成员。
在大纲属性中,指定立方中所有数字范围属性的所需行为。数字范围属性可以表示范围上限(含上限)或范围下限(含下限)。

要使用生成方法构建具有范围属性的大纲,必须根据数值属性值按升序对源数据记录进行排序。定义规则中的字段,如下所示,其中最小的城镇是第一个记录,大都市地区位于末尾。
以下示例基于 Sample Basic,使用生成构建方法导出到应用程序工作簿,然后重新导入。
图 14-8 用于构建具有范围的数字属性维的规则

将基本维成员与其范围属性关联
构建数字属性维范围后,您需要一个规则来将基本维的成员与其正确的属性关联。如果添加或重命名范围属性,要确保关联正确,请重新运行维构建并将基本成员与更改的属性关联。
源数据包括基本维成员的字段,以及 Essbase 用于关联相应“人员”属性的数据值的字段。
定义规则,如下所示。
图 14-9 关联数字范围属性的规则

属性维关联字段(例如,字段 3:市场、属性维、填充)将前一个字段的属性成员放在一个范围内。
注意:
该规则包括一个城市,波士顿,其人口为 3,227,707 超出属性维的范围,其范围仅为 3,000,000。要允许源数据中的值超出范围,请输入范围大小,例如 1000000。Essbase 使用范围大小根据需要将成员添加到现有最高成员上方的属性维或现有最低成员下方的属性维。
注意:
将基本成员与属性关联后,如果添加或重命名任何属性,则可能会使关联失效。考虑将数字范围属性定义为 "Tops of ranges"(范围上限(含上限))且属性维包含成员 100、200、500 和 1000 的示例。值为 556 的基本维成员与属性 1000 关联。如果将范围属性重命名为 500 到 600,则值为 556 的基本维成员现在具有无效的关联 - 它与属性 1000 关联,此时它应与属性 600 关联。要修复此问题,请重新运行维构建并将基本成员与更改的属性关联。
确保关联的有效性
要确保数字范围属性关联的有效性,必须选择正确的 Essbase 维构建选项,并按正确的顺序执行构建。添加或更改属性可能需要对关联进行修复。如果要使用范围别名,请在单独的维构建中添加范围别名。
添加或更改属性维的成员:将基本维的成员与其数字属性范围关联后,如果您手动在属性维中插入新成员或重命名现有成员,请确保属性和基本成员之间的关联正确,方法是执行以下任务之一:
-
重新运行将基本成员与更改的属性维关联的维构建。
-
使用大纲编辑器可以根据需要手动检查并修复所有基本维的关联。
从属性维中删除成员:您可以删除属性维的所有成员,以便可以使用新数据重建维。
将成员添加到基本维:您可以使用相同的加载规则将新成员添加到基本维,并将新成员与其数字范围属性同时关联。为范围大小提供值。
如果 Essbase 遇到的基维值大于最大属性成员且大于范围大小,或者小于最小属性成员且大于范围大小,则会在属性维中创建成员以容纳超出范围的值。
例如,假定数值范围属性在大纲属性中定义为 "Tops of ranges"(范围上限)(包含上限)。这意味着范围属性值表示其范围的最大数量。在示例图中,“群体”属性维是 300000。如果源数据包括人员为 4,420,000 且范围大小为 100000 的记录,则 Essbase 会向属性维 400000 和 5000000 添加两个成员,并将基本成员与值 4,420,000 与 500000 属性关联。
图 14-10 动态添加属性范围成员

同时添加范围属性和基本维成员时, Essbase 不会为新属性创建别名。如果您希望使用别名来描述属性维的新成员的范围值,则必须在单独的维构建中添加别名。