7.10. 将一个源字段分成多个目标字段
在数据映射器步骤中,您可以将复合源字段划分为多个目标字段。例如,将 Name
字段映射到 FirstName
和 LastName
字段。
前提条件
对于 source 字段,您必须知道此复合字段的每一个部分、内容的次序和索引,以及部分之间的分隔符,如空格或逗号。请参阅 缺少或不需要的数据的示例。
流程
-
在 Sources 面板中,点您要独立内容的字段,然后点
。
在 Mapping Details 面板中,从 Target 下拉列表中选择您要映射到的数据字段。
当完成选择目标字段后,您应该会看到 source 字段中的行到您选择的每个目标字段。
在 Mapping Details 面板的顶部,data mapper 会显示 Split,表示对源字段值进行映射分割并将其映射到多个目标字段。
在 Targets 下,您选择的每个目标字段都有一个条目。
在 Mapping Details 面板中,按如下所示配置映射:
- 在 Sources 下,在 Delimiter 字段中接受或选择 source 字段中的字符,用于指示源字段值的所在位置。默认为空格。
-
(可选)点
将转换应用到 source 字段值,然后再映射到 target 字段。
在 Targets 下,检查您选择的目标字段的条目顺序。条目必须与复合源字段中对应的内容的顺序相同。在 source 字段中,您是否为一个或多个内容部分指定 target 字段。
如果条目不正确顺序,请更改字段条目的索引号,使其达到同样顺序。
如果您将复合源字段的每个部分映射到目标字段,则跳至下一步。
如果 source 字段包含您不需要的数据,在 Mapping Details 面板中,编辑还没有与源字段中对应的数据的索引。每个目标字段条目必须具有与在 source 字段中对应的数据相同的索引。数据映射程序根据需要自动添加 padding 字段来指示不需要的数据。
请查看此流程末尾的示例。
-
(可选)点
将内容映射到目标字段,然后应用转换,如 转换源或目标数据 中所述。
(可选)预览数据映射结果:
-
点击
在源字段中显示一个文本输入字段,在每个 target 字段中显示只读结果字段。
在 source 字段的数据输入字段中,键入示例值。请务必在字段的部分部分之间输入分隔符。映射结果会出现在目标字段的只读字段中。
如果您对目标字段重新排序或向目标字段添加转换,则目标字段上的结果字段会反映此值。如果数据映射器检测到错误,它会在 Mapping Details 面板的顶部显示信息。
再次单击
来隐藏预览字段。
如果您重新显示 preview 字段,您在其中输入的任何数据仍会存在,并在您退出 data mapper 前保留。
-
点击
要确认正确定义了映射,点
显示此步骤中定义的映射。将 source 字段的值分隔到多个目标字段的映射如下所示:
。
您也可以在此视图中显示预览映射结果。点
,然后键入文本,如上一步中所述。仅显示所选映射的 Preview 字段。点表中的另一个映射查看预览字段。
将一个字段分成多个字段的示例
假设源数据包含一个地址字段,并使用逗号分隔内容部分,例如:
77 Hill Street, Brooklyn, New York, United States, 12345, 6789
77 Hill Street, Brooklyn, New York, United States, 12345, 6789
在 address 字段中,内容的部分有这些索引:
内容 | 索引 |
---|---|
number 和 street | 1 |
City | 2 |
状态 | 3 |
国家/地区 | 4 |
zip 代码 | 5 |
Zip+4 | 6 |
现在假设目标数据有两个字段用于地址:
number-and-street city state zip
number-and-street
city
state
zip
要定义映射,请执行以下操作:
-
选择 source 字段,然后点
。
- 在 Mapping Details 面板中,选择 Sources 部分中的分隔符,本例中为逗号。
- 选择四个目标字段。
完成此操作后,在 Targets 下的 Mapping Details 面板中,您选择的每个目标字段都有一个条目,例如:
.
data mapper 以它们在 data mapper 中出现的顺序显示目标条目,按字母顺序排列。您需要更改这个顺序,以便它镜像 source 字段中的顺序。在这个示例中,source 字段包含 城市
内容前的 number-and-street
内容。要更正目标条目的顺序,请编辑 城市
索引字段为 2
。结果如下:
.
在 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 字段。结果如下:
.
这个映射现已完成。虽然 source 字段在 index 6(zip+4)处有附加内容,但目标不需要数据,而不需要任何操作。