构建不同代的共享成员

使用 Essbase 维构建规则,可以在不同层代构建共享成员。您可以使用最适合源数据的构建方法完成此操作:级别引用或父子引用。

有时,您希望共享成员汇总到大纲中处于不同世代的父代中。例如,在图 14-14 中,共享成员在第 2 代(饮食)和第 3 代(TBC 和奶奶)汇总为父代。本大纲假设 TBC(The Beverage Company) 从外部供应商那里购买了一些饮料:它从一家名为奶奶的供应商那里购买了 200-20(饮食根啤酒)。

图 14-14 样例大纲:不同代人共享的成员


成员在不同世代共享,如图像前面的文本中所述。

使用父子参考创建不同层代共享成员

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

图 14-15 示例规则:使用父子参考在不同代共享的成员


此图显示了使用父子构建方法在不同层代创建共享成员父代的规则。字段 1 定义为“产品”、“父项”。字段 2 定义为产品、子项。记录填充在字段选择器下方,与步骤 2 中的 .txt 文件中的数据匹配。

要重新创建此示例,

  1. 使用 Essbase 服务器上的文件目录中的中提供的应用程序工作簿导入/构建示例基本多维数据集。

  2. 创建一个制表符分隔的数据文件,如以下内容,将其命名为 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
  3. 主页上,打开应用程序,然后打开数据库(多维数据集)。

  4. 选择脚本选项卡,然后单击规则


    选择了“Scripts(脚本)”选项卡,并在 Essbase Web 界面中突出显示了“Rules(规则)”磁贴。

  5. 单击创建,然后选择维构建(常规)


    在数据库检查对话框中,按“创建”按钮,并选中“维构建(常规)”选项

  6. 在“新建规则”对话框中,

    1. 输入规则名称;例如 shdiffgenparchild

    2. 对于源类型,选择文件,单击目录并导航到 shdiffgenparchild.txt

      单击目录时,默认情况下该文件应位于 Essbase Server 的多维数据集目录中,因此您必须已使用 Essbase Web 界面文件部分上载该文件。如果文件位于客户机上,请单击文件浏览器以查找文件。

    3. 题头记录编号维构建记录编号字段保留为 0。标头记录对维构建没有用处。

    4. Delimiter 值从逗号更改为 Tab

    5. 预览数据计数递增到 11。

    6. 单击继续

    7. 此时将打开维构建规则,其中包含未定义的字段,并预览数据(来自文本文件),填充字段下方的网格。


      未完成的新规则名为 shdiffgenparchild。字段 1-2 的字段元数据在字段选择器中为空。记录填充在字段选择器下方,与步骤 2 中的 .txt 文件中的数据匹配。

  7. 由于这是新规则,因此尚未关联维。

    1. 单击
      规则编辑器中的“维”按钮

    2. 选择或键入维名称 Product ,然后单击 Add(添加)
  8. 现在,您需要定义构建方法并检查其他维构建操作说明。单击产品以编辑属性。
    “编辑维”对话框中的可单击产品维名称。

  9. 确保构建方法父子

  10. 单击共享,然后单击“确定”。

  11. 单击字段 1 中的选择器,然后选择产品


    可从字段 1 中的“维”框中选择产品维

  12. 将字段 1 的 Type 选择器更改为 Parent

  13. 对于字段 2,将类型选择器更改为

  14. 验证该规则,然后保存并关闭。如果存在任何错误,请参阅有效维构建规则文件的要求


    此图显示了使用父子构建方法在不同层代创建共享成员父代的规则。字段 1 定义为“产品”、“父项”。字段 2 定义为产品、子项。记录填充在字段选择器下方,与步骤 2 中的 .txt 文件中的数据匹配。

  15. 运行维构建作业

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


    Essbase Web 界面中的大纲浏览器。产品维展开以显示父代成员 Diet,其下方有共享成员:100-20、200-20 和 300-30。产品维还具有新成员供应商,子代为 TBC 和奶奶。TBC 包含共享成员 100-20 和 300-30,祖母包含共享成员 200-20。

使用层参考创建不同层代共享成员

Essbase 维构建规则中,要使用层参考构建方法创建不同层代的共享成员,请确保在一个记录中指定主累计和辅助累计。您可以根据需要指定任意数量的辅助累计,只要它们都在一个记录中即可。

将共享成员的字段类型定义为级别,然后输入级别编号。在处理数据源时, Essbase 将在指定级别创建父代,并在其下插入共享成员。

例如,要将产品 100-20、200-20 和 300-30 与名为 Diet 的父代和名为 TBC 和祖母的两个父代共享,请使用如下所示的示例数据和规则:

图 14-16 示例规则:使用级别引用在不同代共享的成员


用于在不同层代创建共享成员父代的维构建规则,使用层参考构建方法。字段 1 定义为“产品”、“级别”、“0”,并且包含 100-20、200-20 和 300-30。字段 2 定义为“产品”、“级别”、“1”,并且包含 100、200 和 300。字段 3 定义为“Product(产品)”、“Level(级别)”、“1”,并包含“Diet(饮食)”、“Diet(饮食)”和“Diet(饮食)”。字段 4 定义为“产品”、“级别”、“1”,并且包含 TBC、奶奶和 TBC。字段 5 定义为“产品”、“级别”、“2”,并且包含“供应商”、“供应商”和“供应商”。

要重新创建此示例,

  1. 使用 Essbase 服务器上的文件目录中的中提供的应用程序工作簿导入/构建示例基本多维数据集。

  2. 创建一个制表符分隔的数据文件,如以下内容,将其命名为 shdifflevref.txt,然后将其上载到 Sample Basic 多维数据集目录。

    100-20	100	Diet	TBC	Vendors
    200-20	200	Diet	Grandma’s	Vendors	
    300-30	300	Diet	TBC	Vendors
  3. 主页上,打开应用程序,然后打开数据库(多维数据集)。

  4. 选择脚本选项卡,然后单击规则


    选择了“Scripts(脚本)”选项卡,并在 Essbase Web 界面中突出显示了“Rules(规则)”磁贴。

  5. 单击创建,然后选择维构建(常规)


    在数据库对话框中,按“创建”按钮,并选中“维构建(常规)”选项。

  6. 在“新建规则”对话框中,

    1. 输入规则名称;例如 shdifflevref

    2. 对于源类型,选择文件,单击目录并导航到 shdifflevref.txt

      单击目录时,默认情况下该文件应位于 Essbase Server 的多维数据集目录中,因此您必须已使用 Essbase Web 界面文件部分上载该文件。如果文件位于客户机上,请单击文件浏览器以查找文件。

    3. 题头记录编号维构建记录编号字段保留为 0。标头记录对维构建没有用处。

    4. Delimiter 值从逗号更改为 Tab

    5. 单击继续

    6. 此时将打开维构建规则,其中包含未定义的字段,并预览数据(来自文本文件),填充字段下方的网格。


      未完成的新规则名为 shdifflevref。字段 1-5 的字段元数据在字段选择器中为空。记录填充在字段选择器下方,与步骤 2 中的 .txt 文件中的数据匹配。

  7. 由于这是新规则,因此尚未关联维。

    1. 单击
      规则编辑器中的“维”按钮

    2. 选择或键入维名称 Product ,然后单击 Add(添加)
  8. 现在,您需要定义构建方法并检查其他维构建操作说明。单击产品以编辑属性。
    “编辑维”对话框中的可单击产品维名称。

  9. 确保 Build Method(构建方法)Level(级别),然后单击 OK(确定)。

  10. 单击字段 1 中的选择器,然后选择产品


    可从字段 1 中的“维”框中选择产品维

  11. 将字段 1 的 Type(类型)选择器更改为 Level(级别),然后将其下面的级别编号输入为 0

  12. 对于字段 2-4,将类型选择器更改为级别,然后将级别编号输入为 1

  13. 对于字段 5,将类型选择器更改为级别,然后将级别编号输入为 2

  14. 验证该规则,然后保存并关闭。如果存在任何错误,请参阅有效维构建规则文件的要求


    此图显示了使用层引用构建方法在不同层代创建共享成员父代的规则。字段 1 定义为“产品”、“级别”、“0”,并且包含 100-20、200-20 和 300-30。字段 2 定义为“产品”、“级别”、“1”,并且包含 100、200 和 300。字段 3 定义为“Product(产品)”、“Level(级别)”、“1”,并包含“Diet(饮食)”、“Diet(饮食)”和“Diet(饮食)”。字段 4 定义为“产品”、“级别”、“1”,并且包含 TBC、奶奶和 TBC。字段 5 定义为“产品”、“级别”、“2”,并且包含“供应商”、“供应商”和“供应商”。

  15. 运行维构建作业

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


    Essbase Web 界面中的大纲浏览器。产品维展开以显示父代成员 Diet,其下方有共享成员:100-20、200-20 和 300-30。产品维还具有新成员供应商,子代为 TBC 和奶奶。TBC 包含共享成员 100-20 和 300-30,祖母包含共享成员 200-20。