构建不同代的共享成员
使用 Essbase 维构建规则,可以在不同层代构建共享成员。您可以使用最适合源数据的构建方法完成此操作:级别引用或父子引用。
有时,您希望共享成员汇总到大纲中处于不同世代的父代中。例如,在图 14-14 中,共享成员在第 2 代(饮食)和第 3 代(TBC 和奶奶)汇总为父代。本大纲假设 TBC(The Beverage Company) 从外部供应商那里购买了一些饮料:它从一家名为奶奶的供应商那里购买了 200-20(饮食根啤酒)。
图 14-14 样例大纲:不同代人共享的成员

使用父子参考创建不同层代共享成员
在 Essbase 维构建规则中,要使用父子引用构建方法创建不同代的共享成员,请定义“父代”和“子代”字段类型。只要启用了共享, Essbase 就会自动在新的父代下创建重复成员作为共享成员。
图 14-15 示例规则:使用父子参考在不同代共享的成员

要重新创建此示例,
-
使用 Essbase 服务器上的文件目录中的库中提供的应用程序工作簿导入/构建示例基本多维数据集。
-
创建一个制表符分隔的数据文件,如以下内容,将其命名为
shdiffgenparchild.txt,然后将其上载到 Sample Basic 多维数据集目录。100 100-20 200 200-20 300 300-30 Diet 100-20 Diet 200-20 Diet 300-30 Vendors TBC Vendors Grandma’s TBC 100-20 TBC 300-30 Grandma’s 200-20 -
在主页上,打开应用程序,然后打开数据库(多维数据集)。
-
选择脚本选项卡,然后单击规则。

-
单击创建,然后选择维构建(常规)。

-
在“新建规则”对话框中,
-
输入规则名称;例如 shdiffgenparchild 。
-
对于源类型,选择文件,单击目录并导航到
shdiffgenparchild.txt。单击目录时,默认情况下该文件应位于 Essbase Server 的多维数据集目录中,因此您必须已使用 Essbase Web 界面的文件部分上载该文件。如果文件位于客户机上,请单击文件浏览器以查找文件。
-
将题头记录编号和维构建记录编号字段保留为 0。标头记录对维构建没有用处。
-
将 Delimiter 值从逗号更改为 Tab 。
-
将预览数据计数递增到 11。
-
单击继续。
-
此时将打开维构建规则,其中包含未定义的字段,并预览数据(来自文本文件),填充字段下方的网格。

-
-
由于这是新规则,因此尚未关联维。
- 单击维。

- 选择或键入维名称 Product ,然后单击 Add(添加)。
- 单击维。
-
确保构建方法为父子。
-
单击共享,然后单击“确定”。
-
单击字段 1 中的维选择器,然后选择产品。

-
将字段 1 的 Type 选择器更改为 Parent 。
-
对于字段 2,将类型选择器更改为子。
-
验证该规则,然后保存并关闭。如果存在任何错误,请参阅有效维构建规则文件的要求。

-
运行维构建作业。
-
查看大纲,并检查“Product(产品)”维度,以确认其具有新成员“Vendor(供应商)”、“TBC(TBC)”和“Grandma(奶奶)”,以及同时用于“Diet(饮食)”的共享成员。

使用层参考创建不同层代共享成员
在 Essbase 维构建规则中,要使用层参考构建方法创建不同层代的共享成员,请确保在一个记录中指定主累计和辅助累计。您可以根据需要指定任意数量的辅助累计,只要它们都在一个记录中即可。
将共享成员的字段类型定义为级别,然后输入级别编号。在处理数据源时, Essbase 将在指定级别创建父代,并在其下插入共享成员。
例如,要将产品 100-20、200-20 和 300-30 与名为 Diet 的父代和名为 TBC 和祖母的两个父代共享,请使用如下所示的示例数据和规则:
图 14-16 示例规则:使用级别引用在不同代共享的成员

要重新创建此示例,
-
使用 Essbase 服务器上的文件目录中的库中提供的应用程序工作簿导入/构建示例基本多维数据集。
-
创建一个制表符分隔的数据文件,如以下内容,将其命名为
shdifflevref.txt,然后将其上载到 Sample Basic 多维数据集目录。100-20 100 Diet TBC Vendors 200-20 200 Diet Grandma’s Vendors 300-30 300 Diet TBC Vendors -
在主页上,打开应用程序,然后打开数据库(多维数据集)。
-
选择脚本选项卡,然后单击规则。

-
单击创建,然后选择维构建(常规)。

-
在“新建规则”对话框中,
-
输入规则名称;例如 shdifflevref 。
-
对于源类型,选择文件,单击目录并导航到
shdifflevref.txt。单击目录时,默认情况下该文件应位于 Essbase Server 的多维数据集目录中,因此您必须已使用 Essbase Web 界面的文件部分上载该文件。如果文件位于客户机上,请单击文件浏览器以查找文件。
-
将题头记录编号和维构建记录编号字段保留为 0。标头记录对维构建没有用处。
-
将 Delimiter 值从逗号更改为 Tab 。
-
单击继续。
-
此时将打开维构建规则,其中包含未定义的字段,并预览数据(来自文本文件),填充字段下方的网格。

-
-
由于这是新规则,因此尚未关联维。
- 单击维。

- 选择或键入维名称 Product ,然后单击 Add(添加)。
- 单击维。
-
确保 Build Method(构建方法)为 Level(级别),然后单击 OK(确定)。
-
单击字段 1 中的维选择器,然后选择产品。

-
将字段 1 的 Type(类型)选择器更改为 Level(级别),然后将其下面的级别编号输入为 0 。
-
对于字段 2-4,将类型选择器更改为级别,然后将级别编号输入为 1 。
-
对于字段 5,将类型选择器更改为级别,然后将级别编号输入为 2 。
-
验证该规则,然后保存并关闭。如果存在任何错误,请参阅有效维构建规则文件的要求。

-
运行维构建作业。
-
查看大纲,并检查“Product(产品)”维度,以确认其具有新成员“Vendor(供应商)”、“TBC(TBC)”和“Grandma(奶奶)”,以及同时用于“Diet(饮食)”的共享成员。

