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


在数据映射程序步骤中,您可以将 compound source 字段分成多个目标字段。例如,将 Name 字段映射到 FirstNameLastName 字段。

前提条件

对于 source 字段,您必须了解这个 compound 字段中的每个部分的内容类型、内容的每个部分的顺序和索引,以及部分之间的分隔符,如空格或逗号。请参阅 缺少或不需要的数据示例

流程

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

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

    Mapping Details 面板的顶部,数据映射器会显示 Split 来指示映射的执行分割源字段值并将其映射到多个目标字段。

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

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

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

      如果条目没有正确顺序,请更改字段条目的索引号,以实现相同的顺序。

      如果您将 compound source 字段的每个部分映射到 target 字段,则跳至下一步。

    4. 如果 source 字段包含您不需要的数据,然后在 Mapping Details 面板中编辑每个目标字段的索引,它们没有与 source 字段中对应的数据相同的索引。每个目标字段条目都必须具有与 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 字段,您输入的任何数据仍会存在,且会一直存在,直到您退出数据映射程序。

  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

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

内容索引

number 和 street

1

City

2

状态

3

国家

4

zip 代码

5

Zip+4

6

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

number-and-street
city
state
zip

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

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

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

Example of initial entries .

数据映射器按数据映射器中显示的目标条目(按字母排序)显示目标条目。您需要更改此顺序,以便在 source 字段中镜像顺序。在本例中,source 字段在 city 内容前包含 number-and-street 内容。要更正目标条目的顺序,请将 city index 字段编辑为 2。结果类似如下:

Example or reordered entries .

在 target 字段条目中,索引号指示将映射到此目标字段的 source 字段的一部分。需要更改其中一个索引值来实现正确的目标字段值。考虑每个目标字段:

  • number-and-street - 在源字段中,number 和 street 内容具有索引 1。索引 1 源映射到 number-and-street 目标字段是正确的。此目标条目不需要任何更改。
  • City - 在源字段中,城市内容的索引为 2。此目标条目也正确。
  • State - 在 source 字段中,状态内容的索引为 3。此目标条目也正确。
  • zip - 在 source 字段中,zip 代码内容的索引为 5。目标字段条目索引为 4 错误。如果您没有更改它,在执行期间,source 字段中的国家/地区部分将映射到 zip 目标字段。您需要将索引更改为 5。这指示数据映射器将索引 5 源内容映射到 zip 目标字段。更改索引后,数据映射器会添加一个带有索引 4 的 padding 字段。结果类似如下:

Example entries with padding .

这个映射现已完成。虽然 source 字段在索引 6 (zip+4)上具有额外的内容,但目标不需要数据,且无需进行任何操作。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.