对字段执行操作
要定制 Essbase 构建维或加载数据的方式,请设计规则以对源数据中的字段执行操作。可以使用该规则添加、联接、拆分、复制、重命名和移动字段、忽略字段或字符串,以及将数据字段映射到成员名称。
忽略这些字段
要让 Essbase 在构建维或加载数据时跳过源数据的一个或多个字段,请使用加载规则忽略这些字段。
源中忽略的字段将不会加载到 Essbase 多维数据集。例如,Sample.Basic 多维数据集具有五个标准维:“年”、“产品”、“市场”、“度量”和“方案”。如果源的额外字段不是任何维(如 Salesperson)的成员,则可以指示 Essbase 忽略“销售人员”字段。
要在 Essbase 数据加载或维构建期间忽略列,
-
在 Essbase Web 界面中打开加载规则。
-
选择不需要的字段,然后单击忽略。

-
验证并保存在规则中。
忽略字符串
要让 Essbase 在维构建或数据加载期间忽略某些源数据字段(例如具有特定字符的字段),请使用规则的源属性指定匹配的字符串/令牌标准。
对于数据加载和维构建规则,可以忽略源中与字符串(称为令牌)匹配的任何字段。如果忽略基于字符串值的字段,则无论字段出现在源数据中的哪个位置(而不仅仅出现在特定列中),这些字段都会被忽略。例如,在以文本格式生成计算机报表的源中,可以使用特殊的 ASCII 字符在页或标题周围的框之间创建水平线。这些特殊字符可以定义为要忽略的令牌。
要在 Essbase 维构建期间忽略源数据中的字符串/令牌,
-
在 Essbase Web 界面中打开维构建规则。
-
单击源属性。

-
在 Details(详细信息)选项卡的 Tokens to Ignore(要忽略的标记)中,输入一个或多个要忽略的字符串(以空格分隔)。

-
如果输入了多个字符串,请在加入的令牌中选择 AND 或 OR 以控制字符串匹配是使用 AND 还是使用 OR 逻辑完成。如果选择 AND,则源中必须同时存在这两个字符串才能被忽略。如果选择 OR,则必须存在其中一个或另一个。
-
单击 "OK"(确定)。验证并保存在规则中。
移动字段
使用规则可让 Essbase 在构建维或加载数据时移动源数据的一个或多个字段。当需要排列源记录以匹配大纲时,规则中的移动字段会有所帮助。
可以使用规则文件将字段移动到其他位置。例如,可以在数据加载或维构建期间将源数据中的第一个字段指定为第三个字段。
移动操作在基于索引的维构建规则中不可用,其中字段可以按任意顺序排列。
要移动 Essbase 数据加载或维构建规则中的字段,
-
在 Essbase Web 界面中打开加载规则。
-
选择字段。

-
单击移动。
-
指出要移至的位置,然后单击“确定”。

-
验证并保存在规则中。
添加字段
向规则添加字段对于将新成员或数据添加到 Essbase 大纲、准备联接、构建限定成员名称或执行 Essbase 维构建或数据加载所需的其他操作非常有用。
向加载规则添加新字段时,
-
如果选择现有字段,然后添加新字段,则新列将添加到现有列的左侧。
-
如果未选择任何字段,则会将新字段添加到末尾(在所有现有字段的右侧)。
在以下维构建规则示例中,假设要在现有第 3 代字段之前添加第 2 代字段。

要在 Essbase 数据加载或维构建规则中添加字段,
-
在 Essbase Web 界面中打开加载规则。
-
选择该字段,使其突出显示。

-
单击创建 > 常规。

字段 1 将移动为字段 2,并添加新的字段 1。

-
输入刚添加的字段的必需信息。

-
验证并保存在规则中。
连接字段
您可以在 Essbase 维构建或数据加载规则中将多个字段联接到一个字段中。将为新字段指定联接中的第一个字段的名称。
例如,如果源数据具有产品编号 (100) 和产品系列 (-10) 的单独字段,则必须使用该规则联接这些字段 (100-10),然后再将它们加载到 Sample.Basic 多维数据集。
考虑以下维构建规则并预览:

对于以下练习,假设您的目标是联接字段以创建以下格式的合格成员名称:
[500].[500-10].[500-10-10]可以将字段 3/第 4 代替换为新的限定成员名称格式。
要在 Essbase 维构建规则中使用联接和拆分来构建必需字段,
-
选择字段 1。

-
单击创建 > 使用静态值。
-
输入 [ 并单击“确定”。
字段 1 将替换为包含您输入的字符的新字段,其他字段将右移。

-
选择字段 3,然后单击创建 > 使用静态值。
-
输入 ] 并单击“确定”。
字段 3 将替换为包含您输入的字符的新字段,字段 4 和字段 5 将右移。
![字段 1 包含 [。字段 2 包含所有行中预览值为 500 的产品生成 2。字段 3 包含 ]。字段 4 包含具有预览值(如 500-10、500-20 等)的产品生成 3。字段 5 包含具有预览值的产品生成 4,如 500-10-10、500-10-20 等。 字段 1 包含 [。字段 2 包含所有行中预览值为 500 的产品生成 2。字段 3 包含 ]。字段 4 包含具有预览值(如 500-10、500-20 等)的产品生成 3。字段 5 包含具有预览值的产品生成 4,如 500-10-10、500-10-20 等。](img/joinflow2.png)
-
选择字段 1。
![选择的字段 1 包含 [。未选择的字段 2 包含 500。字段 3(未选中)包含 ]。 选择的字段 1 包含 [。未选择的字段 2 包含 500。字段 3(未选中)包含 ]。](img/joinflow3.png)
-
单击字段 2 和字段 3 时按住 Shift 键,将字段 2 和 3 添加到当前选择。
![字段 1、2 和 3 均同时选择,分别具有值 [、500 和 ]。 字段 1、2 和 3 均同时选择,分别具有值 [、500 和 ]。](img/joinflow4.png)
-
单击联接。
字段 1、2 和 3 联接到包含
[500]的新字段 1。![字段 1、2 和 3 联接到包含 [500] 的新字段 1 中。 字段 1、2 和 3 联接到包含 [500] 的新字段 1 中。](img/joinflow5.png)
如果联接的字段包含指向错误方向(例如
]500[)的方括号,则可能按字段 3、2、1 的顺序选择,而不是按字段 1、2 和 3 的顺序选择。选择的顺序会影响联接的行为方式。要修复此问题,请选择错误联接的字段,然后单击拆分(使用位置 1,然后依次选择位置 3),然后重试,在单击联接之前撤消选择顺序。 -
使用“创建”>“使用联接”复制剩余的生成字段(第 3 代和第 4 代),以及为期间和数据筛选添加更多静态值,直到构建了一个包含所需格式的合格成员名称的字段:
[500].[500-10].[500-10-10] -
如果您需要查看列操作的历史记录,包括联接、拆分、移动和静态值创建,请单击列操作以查看最近操作的列表。可以撤消上一个操作。

-
完成编辑规则,然后验证并保存该规则。此练习的最终目标是替换第 4 代字段以使用合格成员名称。在此示例中,原始第 4 代字段(在字段 4 中)现在被忽略,因为它已替换为字段 3。
![字段 1 包含所有行中预览值为 500 的产品生成 2。字段 2 包含具有预览值(如 500-10、500-20 等)的产品生成 3。字段 3 包含使用限定成员名称(如 [500].[500-10].[500-10-10]、[500].[500-10].[500-10-20] 等)的预览值的产品生成 4。字段 4 被忽略。 字段 1 包含所有行中预览值为 500 的产品生成 2。字段 2 包含具有预览值(如 500-10、500-20 等)的产品生成 3。字段 3 包含使用限定成员名称(如 [500].[500-10].[500-10-10]、[500].[500-10].[500-10-20] 等)的预览值的产品生成 4。字段 4 被忽略。](img/joinflow-fin.png)
字段表达式(可用于基于索引的维构建规则)
虽然基于索引的规则没有拆分、联接和移动列操作,但您可以使用字段表达式联接字段并执行其他操作。
-
选择一个字段,然后单击表达式以将操作表达式添加到字段。
-
要联接两个列,请单击一个函数并提供列索引作为参数。例如:

使用联接创建字段
在上一个主题联接字段中,联接替换了 Essbase 维构建规则中的现有字段。
例如,如果数据源具有产品编号(示例:100)和产品系列(示例:-10)的单独字段,则可能需要在将字段加载到 Sample.Basic 多维数据集之前加入这些字段(示例:100-10)。但是,如果要保留源中的两个现有字段,则可以使用联接创建新字段 (100-10),同时保留原始字段(100 和 -10)。
考虑以下维构建规则并预览:

假设您的目标是添加以下格式的第 4 代字段:
500-500-10要开始使用,
-
选择字段 2,然后单击创建 > 使用静态值。
-
输入连字符 - ,然后单击“确定”。

-
选择字段 1、2 和 3(按该顺序),然后单击使用联接位置 4 的“创建”>“使用联接”。

-
如果您需要查看列操作的历史记录,包括联接、拆分、移动和静态值创建,请单击列操作以查看最近操作的排序列表。
-
您可以将字段 2 移出稍后重用的方法。如果不希望它影响规则功能,请选择它并单击忽略。
字段表达式(可用于维构建规则)
虽然基于索引的规则没有拆分、联接和移动列操作,但您可以使用字段表达式联接字段并执行其他操作。
-
单击创建 > 使用表达式以添加将使用表达式定义的字段。

-
要联接两个列,请单击一个函数并提供列索引作为参数。例如:

拆分字段
您可以在 Essbase 维构建或数据加载规则中将字段拆分为两个字段。
此操作与联接相反,仅在常规规则中可用。例如,如果 Sample.Basic 数据库的数据源具有包含 UPC100-10-1 的字段,则可以将 "UPC" 从该字段拆分并忽略它。然后,仅加载 100-10-1(产品编号)。
要在 Essbase 数据加载或维构建期间拆分字段,
-
在 Essbase Web 界面中打开加载规则。
-
选择字段。

-
单击拆分。
-
根据字符指示拆分位置和方向。例如,要将
10与500-隔开,请指明拆分位置 4(从左到右)。
-
单击 "OK"(确定)。验证并保存在规则中。
复制字段
您可以在 Essbase 维构建或数据加载规则中创建字段的副本,使原始字段保持不变。
例如,如果要在单个维构建期间定义多级别属性维并将属性与基本维的成员关联,则必须复制一些字段。
要在 Essbase 数据加载期间复制字段,
-
在 Essbase Web 界面中打开加载规则。
-
选择要复制的字段。
-
单击创建 > 使用联接。

-
输入要复制的字段的编号。
-
单击 "OK"(确定)。验证并保存在规则中。
如果创建 > 使用联接不可用,请参阅使用联接创建字段以了解如何使用表达式。
地图字段
有时,您需要将源数据字段映射到 Essbase 成员名称,以便加载数据。您可以使用数据加载规则创建字段。
本节仅适用于数据加载。如果要执行维构建,请跳过此部分。
通过指定源中的哪个字段映射到 Essbase 多维数据集中的哪个成员或成员组合,在数据加载期间将源中的字段直接映射到 Essbase 多维数据集中的字段。源数据不会更改。
注意:
打开 SQL 数据源时,这些字段默认为 SQL 数据源列名。如果 SQL 列名与 Essbase 维名相同,则无需映射列名。
要在 Essbase 数据加载期间映射字段,
-
在 Essbase Web 界面中打开加载规则。
-
选择未映射的字段。

-
键入成员名称,或单击字段旁边的编辑字段/成员选择工具。

-
如果使用成员选择工具,则搜索(或导航到)要与此字段关联的成员。

-
双击该成员,使其添加到字段名中。

-
单击 "OK"(确定)。验证并保存在规则中。
更改字段名称
源数据中的字段或列通常与 Essbase 多维数据集中的名称不匹配,但这不会阻止您加载数据或构建维。您可以使用加载规则为字段命名,以匹配大纲的维名称。
要加载数据源,必须指定源字段如何映射到多维数据集的维和成员。规则可以转换源的字段,以便每次加载源时字段都与成员名称匹配。此流程不会更改来源。
rules 文件:
-
将源文件的成员字段映射到多维数据集的维和成员
-
将源文件的数据字段映射到多维数据集的成员名称或成员组合(例如 Jan、Actual)
命名字段
要在 Essbase 数据加载或维构建期间命名字段,
-
在 Essbase Web 界面中打开加载规则。
-
选择字段。

-
单击字段属性。

-
在名称字段中输入名称。如果名称中包含空格,请用引号将其引起来。

-
单击 "OK"(确定)。验证并保存在规则中。
替换文本串
您可以替换文本字符串,以便这些字段在数据加载或维构建期间映射到 Essbase 成员名称。数据源未更改。例如,如果数据源将 New York 缩写为 NY,则可以让 rules 文件将每个 NY 替换为 New York。
要在 Essbase 数据加载或维构建期间替换字符串,
-
在 Essbase Web 界面中打开加载规则。
-
选择字段。

-
单击字段属性。
-
单击过滤器选项卡。
-
单击替换。
-
单击 + 图标以添加字符串替换条件。
-
填写查找和替换值。例如,将
CA替换为Calif。
-
指定替换操作是否应:
- 区分大小写
- 仅当整个单词匹配时才进行替换。
- 替换出现的所有字符串。
-
单击 "OK"(确定)。验证并保存在规则中。
更改字段大小写
您可以更改字段的大小写,以便字段在数据加载或维构建期间映射到 Essbase 成员名称。数据源未更改。例如,如果源数据将多维数据集大纲 (JAN) 中位于 init 的字段(例如 JAN)大写,则可以让规则文件将该字段更改为 First Letter Capital。
要在 Essbase 数据加载或维构建期间更改字段用例,
-
在 Essbase Web 界面中打开加载规则。
-
选择字段。

-
单击字段属性。
-
对于案例,选择要对传入数据执行的操作。

-
单击 "OK"(确定)。验证和保存规则。
删除前导和尾部空格
您可以从源数据的字段周围修剪前导和尾随空格。包含前导或尾随空格的字段值不会映射到成员名称,即使空格中的名称完全匹配也是如此。
要在 Essbase 数据加载或维构建期间删除空格,
-
在 Essbase Web 界面中打开加载规则。
-
选择字段。

-
单击字段属性。
-
在 Details(详细信息)选项卡中,选择 Trim(修剪)。
-
单击 "OK"(确定)。验证并保存在规则中。
默认情况下, Essbase 会删除前导和尾随空格。
将空间转换成下划线
您可以将数据源字段中的空格转换为下划线,以使字段值与数据库的成员名称相匹配。
要在 Essbase 数据加载或维构建期间将空格转换为下划线,
-
在 Essbase Web 界面中打开加载规则。
-
选择字段。

-
单击字段属性。
-
在 Details(详细信息)选项卡上,单击 Convert Spaces to Underscore(将空间转换为下划线)。
-
单击 "OK"(确定)。验证并保存在规则中。
向字段值添加前缀或后缀
可以向数据源的每个字段值添加前缀和后缀。例如,可以将 2024 添加为 Year 维中所有成员名称的前缀。
要在 Essbase 数据加载或维构建期间添加前缀或后缀,
-
在 Essbase Web 界面中打开加载规则。
-
选择字段。

-
单击字段属性。
-
在详细信息选项卡上,输入要添加的前缀或后缀。

-
单击 "OK"(确定)。验证并保存在规则中。