加载数据和构建维的提示

为了节省时间,您可以对 Essbase 执行增量维构建,并且可以加载数据子集。要防止覆盖合并值,请避免将数据加载到父代成员中。为避免数据处理错误,请确保源中的每个记录具有相同数量的数据值字段。

请参阅以下主题以了解更多信息,以帮助您加载数据和构建维:

增量维构建

要使 Essbase 能够在构建多维数据集大纲时读取多个数据源,请使用增量维构建。增量维构建延迟大纲重构,直到处理了所有数据源。

如果您仅加载数据,或者为维构建使用单个数据源,请跳过此主题。

默认情况下,每次对大纲进行更改时, Essbase 会考虑更改类型,并根据需要重构多维数据集。重构会重新构建数据库,从而占用时间和磁盘空间。

增量维构建(也称为延迟重构维构建)读取维构建的多个数据源,并延迟重构,直到所有数据源都得到处理。

如果您添加了虚拟维(仅动态计算或标签),则多维数据集中存在的任何数据都将存储与新维中的第一个 0 级已存储成员一起。层次中必须至少有一个存储成员,或者在大纲验证期间将返回错误。

使用应用程序工作簿向现有多维数据集递增添加维时,数据将自动映射到新的顶级成员。无法选择现有数据要映射到的存储成员。如果新维的顶级成员是动态计算成员,则数据会丢失,因为动态成员不能存储数据。

使用应用程序工作簿添加新维时,如果您希望维中的顶级成员是动态计算成员,请遵循以下步骤:
  1. 添加新维时将顶级成员设为存储成员。
  2. 运行计算脚本将数据从新的顶级成员复制到该维的另一个存储成员。
  3. 将顶级成员更改为动态计算成员。

使用 MaxL ,可以在一个 import 语句中包括所有数据源。您可以控制是否对每个文件执行大纲验证。您必须为最后一个文件启用大纲验证。

在所有情况下,数据源都按其列出顺序进行处理。

注意:

使用 MaxL 可以对每个文件强制或禁止大纲验证。要确保大纲有效,请确保上次构建验证大纲。

加载数据的位置

在执行数据加载之前,请采取措施防止无意中覆盖数据。避免加载到块存储 (BSO) 多维数据集中的父成员。如果必须这样做,请采取措施确保 Essbase 不将 #MISSING 值从子代合并到父代。

如果要构建维或使用聚合存储 (ASO) 数据库,请跳过此部分。

如果将数据加载到父代成员中,则在计算数据库时,子代数据值的合并可能会覆盖父代数据值。要防止覆盖,请执行以下操作:

  • 如果可能,请勿将数据直接加载到父代。

  • 如果必须将数据加载到父代成员中,请确保 Essbase 不知道通过更改聚合 #MISSING 设置将 #MISSING 值从父代的子代合并到父代。

您可以使用 MaxL 、应用程序工作簿、大纲或计算脚本设置缺少的聚合行为。

  • 要使用 Essbase Web 界面更改聚合缺失行为,请更改数据库定制页中的聚合缺失值设置。请参阅设置高级多维数据集属性

  • 要使用应用程序工作簿更改汇总缺失行为,请更改 Cube.Settings 工作表上的汇总缺失值设置。

  • 要更改计算脚本中缺少的聚合行为,请使用 SET AGGMISSG 计算命令。

  • 要使用 MaxL 更改聚合缺失行为,请使用 alter database appname.dbname enable|disable aggregate_missing

只有在子值为空 (#MISSING) 时,上述方法才有效。如果子代具有数据值,则数据值将覆盖父代的数据值。请参见 #MISSING Values

注意:

无法将数据加载到动态计算或属性成员中。例如,如果 Year 是动态计算成员,则无法将数据加载到其中。而是将数据加载到 Qtr1、Qtr2、Qtr3 和 Qtr4 中,这些不是动态计算成员。

源数据中缺少字段

执行 Essbase 数据加载时,源数据中的每条记录必须具有相同数量的数据值字段。如果缺少数据值,则数据加载处理不正确。

如果缺少维字段或成员字段,则 Essbase 将使用之前用于该维或成员字段的值。请参阅调试数据加载和维构建

如果规则具有额外的空白字段,则空字段与它们旁边的字段相联接。

在聚合存储多维数据集中,值只能加载到 0 级单元。将 #MISSING 或 #MI 指定为源中的值将删除关联的单元格(如果该单元格存在于多维数据集)。

有关聚合存储多维数据集的数据加载差异的信息,请参阅:

从来源加载记录子集

您可以在 Essbase 数据加载或维构建期间从源数据加载记录子集。

要加载记录子集,请执行以下操作:

  1. 使用文本编辑工具对数据源中的记录进行编号。
  2. 将加载规则设置为忽略包含记录编号的列。
  3. 定义拒绝标准以拒绝除要加载的记录之外的所有记录。例如,拒绝忽略列小于 250 或大于 500 的所有记录。

    您拒绝的记录数不能超过错误日志可以保留的记录数。缺省情况下,该限制为 1000。您可以通过设置 DATAERRORLIMIT 配置来更改限制。