加载规则

加载规则可帮助您定义 Essbase 在数据加载或维构建期间处理数据源时应执行的操作。使用规则将数据值映射到多维数据集,或者将数据维和成员映射到大纲。

图 11-3 通过加载规则加载数据


此图说明了使用规则文件加载数据的处理。原始数据文件由规则文件读取,规则文件对原始数据执行操作,处理的数据存储在 Essbase 多维数据集中。

加载规则定义要使用的构建方法、数据值或成员是经过排序的还是按随机顺序出现,以及如何在加载数据值或成员之前转换它们。

Essbase 读取源中的数据值或成员,根据规则对其进行更改,并将更改的数据值加载到多维数据集,并将更改的成员加载到大纲中。Essbase 不更改源数据。您可以将规则文件重用于需要相同的一组规则的所有数据源。

加载规则操作

通过规则文件,可以在将数据或成员加载到多维数据集时进行以下调整:

  • 使用 SQL 查询从外部源提取

  • 向大纲中添加维和成员

  • 在大纲中更改现有维和成员

  • 忽略源数据中的某些字段或字符串

  • 通过移动、联接、拆分或创建字段来更改字段的顺序

  • 通过更改字符串将源中的数据映射到多维数据集

  • 通过缩放数据值或向数据源中的现有数据值添加数据值来更改源中的数据值

  • 设置缺少值的标头记录

  • 拒绝无效记录并继续加载数据

数据加载/维构建成功标准

构建维时,最好为每个维创建单独的规则文件。

要成功加载数据值, Essbase 必须知道其维度;换句话说, Essbase 必须在遇到数据值之前遇到每个维的一个成员。例如,在图 11-2 中, Essbase 使用成员 Texas、100-10、Jan、Sales 和 Actual 将数据值 42 加载到数据库中。如果 Essbase 在指定每个维的成员之前遇到数据值,它将停止加载数据。

设置记录格式(类似于源数据中的行)的最简单方法是包括每个维中的成员,后跟一个数据字段,如下所示:

Sales "100-10" Ohio Jan Actual 25
Sales "100-20" Ohio Jan Actual 25
Sales "100-30" Ohio Jan Actual 25

规则文件中每个记录中的字段数必须匹配(请注意上面的每个记录如何具有 6 个字段)。

数据源必须包含以下所有内容,而不能包含其他任何内容。

  • 每个维中的一个或多个有效成员。如果成员名称包含以下任何一项,则必须用引号将其括起来:

    • 空格

    • 数值字符(0 – 9)

    • 短划线(减号、连字符)

    • 加上符号

    • & 符号

  • 一个或多个有效数据值。请参阅有效数据字段

  • 有效分隔符。请参见 Valid Delimiters

使用加载规则可帮助您在加载源数据时设置源数据的格式(无需手动编辑源)。如果源数据已完全格式化(例如,如果源数据是从 Essbase 导出的未经更改的数据),则您可能不需要加载规则,但这种情况很少见。维构建始终需要加载规则。