8.12. 在映射到一个目标字段前,关于在多个源值上的转换

有些转换可用于多个源字段,或应用到包含多个值的 source 字段中的值,如集合。数据映射器将转换的结果插入到 target 字段中。下表描述了这些多重性转换。

多重性转换描述

添加

添加数字源值,并将 sum 插入到 target 字段中。所选源字段中或所选集合中的值必须是数字。

average

计算数字源值的平均值,并将结果插入到 target 字段中。所选源字段中或所选集合中的值必须是数字。

concatenate

加入源值,并将结果插入到 target 字段中。您可以接受空格作为分隔符或指定其他字符。数据映射器在源值之间的 target 字段中插入此字符。此转换的一个常见用途是组合多个源字段值,例如,firstName、distributedNameLastName,在一个目标字段中,例如 CustomerName

contains

评估源值,以确定任何值是否包含您指定的参数值。如果任何源值包含指定的参数值,则 data mapper 会将 true 插入到 target 字段中。如果没有 source 值,则 data mapper 会将 false 插入到 target 字段中。

例如,假设您要跟踪与特定客户相关的活动。您可以选择每个集合成员包含客户信息的源集合字段。对于 Value 参数,您可以指定一个特定的电子邮件地址。当数据映射器在集合中找到指定的电子邮件地址时,它会在 target 字段中插入 true

数量

在 target 字段中插入源值数。当 source 字段是集合时,这很有用。数据映射器在 target 字段中插入集合的大小。

例如,假设您选择一个是项目对象的 Order source 字段。应用 Count 转换会将按顺序排列的项数插入到目标字段中。

另外,如果您选择 4 个单独的源字段,则数据映射器会在 target 字段中插入 4

划分

将第一个源值除以第二个源值,并在 target 字段中插入结果。如果还有两个源值,则执行将继续根据下一个数字来划分结果。例如,假设一个包含 {1000, 100, 10}numbers[] 集合。执行将 1000 分为 100 以获得 10,然后将 10 分成 10 以获得 1。映射器在 target 字段中插入 1

格式

将模板中的占位符替换为您选择的 source 字段中的值。数据映射器在 target 字段中插入生成的字符串。例如,假设您选择了三个源字段:

时间
名称
文本

您可以选择 Format 转换并在 Template 参数中指定:

在 $time, $name tweeted: $text

在 target 字段中,结果类似如下:

上午 8:00 时,Aslan tweeted: ROAR!

这与 Java 和 C 等编程语言提供的机制类似。

项目期间

对于您选择的 source 字段,数据映射器会在您在 target 字段中指定并插入该值的索引中找到值。source 字段必须是包含带有分隔符的多个值的集合或字段。

例如,假设所选 source 字段是客户电子邮件地址的集合。在选择了 Item At transformation 后,在 Index parameter 字段中,您可以指定 0。数据映射器在 target 字段中插入第一个电子邮件地址,该地址为 index 0。

最大值

评估源值,并在 target 字段中插入最高值。源值必须是数字。

最小值

评估源值,并在 target 字段中插入最低值。源值必须是数字。

multiply

将第一个源值乘以第二个源值,并在 target 字段中插入结果。如果还有两个源值,则执行将继续乘以下一个数字的结果。例如,假设一个包含 {10, 100, 1000}numbers[] 集合。执行乘以 10100 以获得 1000,然后将 1000 乘以 1000 以获得 1000000。映射器在 target 字段中插入 1000000

减法

从第一个源值中减去第二个源值,并在 target 字段中插入结果。如果还有两个源值,则执行将继续从上一个结果中减去下一个数字。例如,假设一个包含 {100, 90, 9}numbers[] 集合。执行从 100 减去 90 以获得 10,然后将 910 减去以获得 1。映射器在 target 字段中插入 1