7.10. 将一个源字段分成多个目标字段


在数据映射器步骤中,您可以将复合源字段划分为多个目标字段。例如,将 Name 字段映射到 FirstNameLastName 字段。

前提条件

对于 source 字段,您必须知道此复合字段的每一个部分、内容的次序和索引,以及部分之间的分隔符,如空格或逗号。请参阅 缺少或不需要的数据的示例

流程

  1. Sources 面板中,点您要独立内容的字段,然后点 the Create new mapping icon
  2. Mapping Details 面板中,从 Target 下拉列表中选择您要映射到的数据字段。

    当完成选择目标字段后,您应该会看到 source 字段中的行到您选择的每个目标字段。

    Mapping Details 面板的顶部,data mapper 会显示 Split,表示对源字段值进行映射分割并将其映射到多个目标字段。

    Targets 下,您选择的每个目标字段都有一个条目。

  3. Mapping Details 面板中,按如下所示配置映射:

    1. Sources 下,在 Delimiter 字段中接受或选择 source 字段中的字符,用于指示源字段值的所在位置。默认为空格。
    2. (可选)点 the Transformation icon 将转换应用到 source 字段值,然后再映射到 target 字段。
    3. Targets 下,检查您选择的目标字段的条目顺序。条目必须与复合源字段中对应的内容的顺序相同。在 source 字段中,您是否为一个或多个内容部分指定 target 字段。

      如果条目不正确顺序,请更改字段条目的索引号,使其达到同样顺序。

      如果您将复合源字段的每个部分映射到目标字段,则跳至下一步。

    4. 如果 source 字段包含您不需要的数据,在 Mapping Details 面板中,编辑还没有与源字段中对应的数据的索引。每个目标字段条目必须具有与在 source 字段中对应的数据相同的索引。数据映射程序根据需要自动添加 padding 字段来指示不需要的数据。

      请查看此流程末尾的示例。

    5. (可选)点 the Transformation icon 将内容映射到目标字段,然后应用转换,如 转换源或目标数据 中所述。
  4. (可选)预览数据映射结果:

    1. 点击 the Show/Hide Preview Mapping icon 在源字段中显示一个文本输入字段,在每个 target 字段中显示只读结果字段。
    2. 在 source 字段的数据输入字段中,键入示例值。请务必在字段的部分部分之间输入分隔符。映射结果会出现在目标字段的只读字段中。

      如果您对目标字段重新排序或向目标字段添加转换,则目标字段上的结果字段会反映此值。如果数据映射器检测到错误,它会在 Mapping Details 面板的顶部显示信息。

    3. 再次单击 the Show/Hide Preview Mapping icon 来隐藏预览字段。

      如果您重新显示 preview 字段,您在其中输入的任何数据仍会存在,并在您退出 data mapper 前保留。

  5. 要确认正确定义了映射,点 the Mapping Table icon 显示此步骤中定义的映射。将 source 字段的值分隔到多个目标字段的映射如下所示: Separate Fields Mapping

    您也可以在此视图中显示预览映射结果。点 the Show/Hide Preview Mapping icon ,然后键入文本,如上一步中所述。仅显示所选映射的 Preview 字段。点表中的另一个映射查看预览字段。

将一个字段分成多个字段的示例

假设源数据包含一个地址字段,并使用逗号分隔内容部分,例如:

77 Hill Street, Brooklyn, New York, United States, 12345, 6789
Copy to Clipboard Toggle word wrap

在 address 字段中,内容的部分有这些索引:

Expand
内容索引

number 和 street

1

City

2

状态

3

国家/地区

4

zip 代码

5

Zip+4

6

现在假设目标数据有两个字段用于地址:

number-and-street
city
state
zip
Copy to Clipboard Toggle word wrap

要定义映射,请执行以下操作:

  • 选择 source 字段,然后点 the Create new mapping icon
  • Mapping Details 面板中,选择 Sources 部分中的分隔符,本例中为逗号。
  • 选择四个目标字段。

完成此操作后,在 Targets 下的 Mapping Details 面板中,您选择的每个目标字段都有一个条目,例如:

Example of initial entries .

data mapper 以它们在 data mapper 中出现的顺序显示目标条目,按字母顺序排列。您需要更改这个顺序,以便它镜像 source 字段中的顺序。在这个示例中,source 字段包含 城市 内容前的 number-and-street 内容。要更正目标条目的顺序,请编辑 城市 索引字段为 2。结果如下:

Example or reordered entries .

在 target 字段条目中,索引编号表示 source 字段的内容将映射到这个目标字段。其中一个索引值需要更改才能实现正确的 target 字段值。考虑每个目标字段:

  • number-and-street - 在 source 字段中,数字和 street 内容的索引为 1。将索引 1 源映射到 number-and-street 目标字段是正确的。这个目标条目不需要更改。
  • City - 在源字段中,城市内容包含 2 的索引。这个目标条目也正确。
  • State - 在 source 字段中,状态内容包含 3 的索引。这个目标条目也正确。
  • zip - 在 source 字段中,zip 代码内容的索引为 5。target 字段条目的索引为 4。如果您没有在执行期间更改它,则 source 字段的 country 部分会映射到 zip target 字段。您需要将索引更改为 5。这会指示 datamapper 将索引 5 源内容映射到 zip target 字段。更改索引后,数据映射程序会添加一个带有索引 4 的 padding 字段。结果如下:

Example entries with padding .

这个映射现已完成。虽然 source 字段在 index 6(zip+4)处有附加内容,但目标不需要数据,而不需要任何操作。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat