“合并”活动

“合并”活动可用于连接两个已排序的输入。 左输入和右输入必须均按照指定排序关键字进行排序,然后您才能合并或连接输入。您必须为左输入及右输入至少指定一个排序关键字。“合并”活动可以解决任何重复项。

使用 XPath 查询可指定每个输入的重现元素。合并类型共有六种:
合并类型 描述
合并且除去重复项 除去同时在左和右输入中出现的重复项。Studio 会将所有重复项发送到 RemainderXML 元素。
合并且保留左重复项 将左侧输入中的重复项发送到 RemainderXML 元素。
合并且保留所有重复项 保留两个输入中的重复项。
内连接 基于指定关键字来连接输入。未参与连接的所有行都会发送到 RemainderXML 元素。
左外连接 基于指定关键字来连接输入。即使左侧输入中的行未参与连接,合并输出仍会保留这些行。Studio 会将右侧输入中未参与连接的行发送到 RemainderXML 元素。
全部外连接 基于指定关键字来连接输入。合并输出会保留连接未涉及的行。
合并示例:

表 1 是本示例中的左侧和右侧输入。表 2 是“合并”活动支持的各类合并操作的期望结果。

在以下示例中,x 是关键变量。 Studio 会将已合并或已连接的条目发送到 mergeXML 元素,并会将未参与合并或连接的所有条目发送到 RemainderXml 元素。

表 1. 左和右输入
左输入 右输入
<entries>
<entry x="1" y="10"/>
<entry x="2" y="20"/>
<entry x="2" y="21"/>
<entry x="3" y="30"/>
</entries>
<entries>
<entry x="0" z="00"/>
<entry x="2" z="22"/>
<entry x="2" z="23"/>
<entry x="4" z="40"/>
</entries>
表 2. 每种合并类型的合并结果
合并类型 合并结果
合并且除去重复项
<entries>
<entry x="0" z="00"/>
<entry x="1" y="10"/>
<entry x="3" y="30"/>
<entry x="4" z="40"/>
</entries>
合并且保留左重复项
<entries>
<entry x="0" z="00"/>
<entry x="1" y="10"/>
<entry x="2" y="20"/>
<entry x="2" y="21"/>
<entry x="3" y="30"/>
<entry x="4" z="40"/>
</entries>
合并且保留所有重复项
<entries>
<entry x="0" z="00"/>
<entry x="1" y="10"/>
<entry x="2" y="20"/>
<entry x="2" y="21"/>
<entry x="2" z="22"/>
<entry x="2" z="23"/>
<entry x="3" y="30"/>
<entry x="4" z="40"/>
</entries>
内连接
<entries>
<entry x="2" y="20" z="22"/>
<entry x="2" y="20" z="23"/>
<entry x="2" y="21" z="22"/>
<entry x="2" y="21" z="23"/>
</entries>
左外连接
<entries>
<entry x="1" y="10"/>
<entry x="2" y="20" z="22"/>
<entry x="2" y="20" z="23"/>
<entry x="2" y="21" z="22"/>
<entry x="2" y="21" z="23"/>
<entry x="3" y="30"/>
</entries>
全部外连接
<entries>
<entry x="0" z="00"/>
<entry x="1" y="10"/>
<entry x="2" y="20" z="22"/>
<entry x="2" y="20" z="23"/>
<entry x="2" y="21" z="22"/>
<entry x="2" y="21" z="23"/>
<entry x="3" y="30"/>
<entry x="4" z="40"/>
</entries>



反馈 | 声明


http://pic.dhe.ibm.com/infocenter/wci/v7r0m0/topic/com.ibm.wci.doc/merge_activity.html