数据源

在数据加载或维构建期间, Essbase 会从顶部读取数据来源,从左到右依次遍历记录、字段和分隔符。数据源可能包含数据值和元数据,可以是文本文件、关系表或从多维数据集导出文件。

源数据包含要加载到 Essbase 多维数据集中的信息。数据源可以包含数据值和元数据。元数据是有关成员的信息,例如名称、别名、公式和其他属性。

数据源中的项

在数据加载期间, Essbase 会读取从顶部开始的数据源,然后从左到右继续。数据源包含记录、字段和字段分隔符。

  • 记录是相关字段的结构化行。

  • 字段是单个值。

  • 分隔符指示字段已完成,并且记录中的下一个字符将启动另一个字段。在图中,默认分隔符显示为空格。

图 11-1 记录和字段


此图说明了数据源中记录和字段的概念,如图像前面的文本中所述。

数据源可以包含维字段、成员字段、成员组合字段和数据字段。

图 11-2 种字段


此图说明了字段的类型,如图像前面的文本中所述。
  • 维字段标识多维数据集的维,例如市场。使用维字段告知 Essbase 源中维的顺序。在上图中,维字段包括“市场”、“产品”、“年份”、“度量”和“方案”。“市场”列中的字段(如德克萨斯州)是“市场”维的成员,而“产品”列中的字段(如 100-10)是“产品”维的成员。如果源中不存在维字段,则可以使用加载规则标识这些字段。

  • 成员字段标识指定维的成员或成员组合。使用成员字段告诉 Essbase 要将新数据值映射到的成员,或者要添加到大纲中的成员。在上图中,Texas、100-10、Jan、Sales 和 Actual 是成员字段。

  • 数据字段包含加载到多维数据集成员交叉点的数字数据值。每个数据值必须映射到维成员。例如,在上图中,42 是与 Texas、100-10、Jan、Sales 和 Actual 的交集对应的数据值。

    可以在标题和单个记录中指定信息。大纲中每个标准维的一个成员必须与加载到 Essbase 中的每个数据值关联。在以下示例中,100 是与 Jan、Actual、Cola、East、Sales 关联的数据值,200 是与 Jan、Actual、Cola、West、Sales 关联的数据值。

    Jan, Actual
    Cola  East  Sales  100
    Cola  West  Sales  200
    Cola  South  Sales  300

数据字段仅用于数据加载;维构建会忽略数据字段。

有效维字段

Essbase 数据加载中,如果源未标识大纲中的每个维,则加载规则必须标识缺少的维。

例如,Sample.Basic 多维数据集具有“年”维(其中“年”的级别 0 为“月”)。如果多个数据源以来自不同区域的月数到达,则可能不会在源中指定月份本身。(在此处,所有源都包含同一个月的数据,我们只有一个加载规则文件。)必须在加载规则的标题中指定月份。

维字段必须包含有效的维名称。如果不执行维构建,则大纲中必须已存在该维。如果要执行维构建,维名称可以是新名称,但必须在加载规则中指定新名称。

有效成员字段

在要加载到 Essbase 的数据源中,成员字段为空,或者包含有效的成员名称或别名。空白的成员字段继承上一记录中的成员名称。

Essbase 必须知道如何将源的每个成员字段映射到大纲的成员。

例如,在图 11-2 中,德克萨斯州和俄亥俄州是市场维的有效成员。

要有效,成员字段必须符合下列条件:

  • 包含或继承有效的成员名称或成员属性。请参阅使用源数据处理成员属性。如果不执行维构建,则该成员必须已存在于大纲中。如果要执行维构建,则成员可以是新成员。

  • 映射到维。源文件或规则文件必须指定每个成员字段映射到的维。

  • 映射到单个成员名称(例如“年”维的“一月”)或成员组合(例如“年”维和“方案”维的“一月”、“实际”)。

  • 根据需要使用引号。对于包含与文件分隔符相同的字符的成员名称,这是必需的。

未使用规则文件时(例如,如果从 Essbase 导出文件加载数据),空白维和成员字段可以。在此类情况下,当 Essbase 遇到空白字段时,它将使用该列遇到的最后一个维或成员名称。

注意:

在处理每个数据加载记录时, Essbase 不会进行检查以确保在成员字段中指定的成员属于为维字段指定的维。Essbase 会将数据值加载到记录中由成员组合标识的数据单元格中。

例如,在图 11-2 中,如果第二个记录反转了“一月”和“销售额”(德克萨斯州,‘ 100-10 ’,Sales,Jan,Actual,42),则 Essbase 会将 42 加载到正确的数据单元格。

有效数据字段

如果要执行维构建,请跳过此部分。在维构建期间将忽略数据字段。

用于加载 Essbase 的源数据和/或规则文件必须包含足够的信息,以便 Essbase 确定数据放置位置。数据字段包含其在多维数据集中的交叉点的数据值。

在数据字段中, Essbase 接受数字及其修饰符(它们之间没有空格或分隔符),以及文本字符串 #MI 和 #MISSING(如下表中所列)。

表 11-1 有效数据字段修改量

有效修饰符 示例

币种符号:

  • 澳元

  • 欧元 这张照片是欧洲的象征。

  • 日元¥

$12 是有效值。

$ 12 不是有效值,这是因为 $ 符号和 12 之间有空格。

带括号的数字表示负数

(12)

数字前的减号。数字后的减号无效。

-12

小数点

12.3

含或不含逗号的较大数字

1,345,218 和 1345218 均为有效值。

#MI 或 #MISSING 用于表示缺失或未知值

#MI

如果源为每个维都包含一个成员字段和一个包含数据值的字段,则必须将包含数据值的字段定义为规则文件中的数据字段。例如,要将以下源读入 Sample Basic 多维数据集,请将最后一个字段定义为数据字段。

Jan    Cola    East    Sales    Actual    100
Feb    Cola    East    Sales    Actual    200

如果来源包含数据值的空白字段,则将其替换为 #MI 或 #MISSING。如果数据字段中没有值(或值为 #MISSING),则 Essbase 不会用空值替换多维数据集中的当前值。

有效分隔符

在要加载到 Essbase 的数据源中,必须使用分隔符将字段彼此分隔。如果加载的数据没有规则文件,则必须使用空格来分隔字段。

如果使用规则文件,分隔符可以是以下任意一种:

  • 标签页(默认)

  • 空格

  • 新建行

  • 回车

  • 逗号

没有规则文件的额外分隔符

在没有规则文件的情况下加载的数据源中, Essbase 会忽略额外的分隔符。在以下示例中,字段用空格分隔。Essbase 会忽略字段之间的额外空格。

East   Cola   Actual   Jan   Sales   10
East   Cola   Actual   Feb   Sales   21
East   Cola   Actual   Mar   Sales   30

具有规则文件的额外分隔符

在随规则文件加载的数据源中, Essbase 将额外分隔符读为空字段。

例如,如果尝试使用规则文件将以下文件加载到示例基本多维数据集,则加载将失败。Essbase 将第一个记录中的 East 和 Cola 之间的额外逗号读取为额外的字段。然后, Essbase 将 Cola 放入字段 3 中。然而,在下一个记录中,可乐在字段 2 中。Essbase 期望 Cola 位于字段 3 中并停止数据加载。

East,,Cola,Actual,Jan,Sales,10
East,Cola,Actual,Feb,Sales,21
East,Cola,Actual,Mar,Sales,30

要解决此问题,请从源中删除额外的分隔符。

有效格式化字符

在要加载到 Essbase 的数据源中,源数据中的某些字符将被忽略,并且仅被视为格式化字符。

处理源文件时, Essbase 会忽略下面列出的字符:

表 11-2 有效格式字符

设置字符格式 说明

==

多个等号,例如用于双下划线

--

多个减号,例如单个下划线

__

多个下划线

==

多个 IBM PC 图形双下划线(ASCII 字符 205)

__

多个 IBM PC 图形单下划线(ASCII 字符 196)

忽略的字段不会影响数据加载或维构建。

例如, Essbase 会忽略以下源文件中的等号,并正常加载其他字段。

East  Actual  "100-10"
      Sales   Marketing
      =====   =========
Jan   10      8
Feb   21      16

支持的源数据类型

可用于 Essbase 数据加载和维构建的数据源包括文本文件(平面文件)、关系表或数据库(如 Oracle Database)、从 Essbase 多维数据集导出的文件以及其他 Essbase 多维数据集。

Essbase 支持多种类型的源数据,包括:

  • 文本备份或外部源中的文本文件(平面文件)

  • 关系型数据源

  • Essbase 导出文件(导出文件不需要加载规则文件)

  • 其他来源。请参阅使用连接和数据源,以详细了解如何设置与源数据的连接。

您可以使用基于 Microsoft Excel 的特殊格式的应用程序工作簿文件通过多维数据集设计器导入或构建多维数据集。

不能将常规 Excel 文件用作加载到多维数据集的源数据。