一、相关说明
-
连接组件说明:
连接
是结果集
通过关键字
进行连接
。 -
合并记录组件说明:
合并记录
是用于将两个不同来源
的数据合并
,这两个来源的数据分别为旧数据
和新数据
,该步骤将旧数据和新数据按照指定的关键字匹配、比较、合并
。- 需要设置的参数:
旧数据来源:旧数据来源的步骤
新数据来源:新数据来源的步骤
标志字段:设置标志字段的名称,标志字段用于保存比较的结果,比较结果有下列几种。
“identical”
– 旧数据和新数据一样“changed”
– 数据发生了变化;“new”
– 新数据中有而旧数据中没有的记录“deleted”
–旧数据中有而新数据中没有的记录
关键字段: 用于定位两个数据源中的同一条记录。
比较字段: 对于两个数据源中的同一条记录中,指定需要比较的字段。合并后的数据将包括旧数据来源和新数据来源里的所有数据,对于变化的数据,使用新数据代替旧数据,同时在结果里用一个标示字段,来指定新旧数据的比较结果。
注意:
旧数据和新数据需要事先按照关键字段排序。
旧数据和新数据要有相同的字段名称。
- 需要设置的参数:
-
需求说明:
从数据库中的t_test_user表中读取数据,再从数据库中t_table_out_user表读取数据,将两表数据进行合并,保存到Excel中。 -
表t_test_user和t_table_out_user建表语句及数据如下:
t_test_user
:DROP TABLE IF EXISTS `t_test_user`; CREATE TABLE `t_test_user` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键', `name` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '姓名', `age` tinyint(4) NOT NULL COMMENT '年龄', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; insert into `t_test_user`(`id`,`name`,`age`) values (1,'乔峰',22),(2,'段誉',24),(3,'虚竹',21),(4,'金轮法王',26);
t_table_out_user
表:DROP TABLE IF EXISTS `t_table_out_user`; CREATE TABLE `t_table_out_user` ( `id` int DEFAULT NULL, `name` tinytext COLLATE utf8mb4_unicode_ci, `age` int DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*Data for the table `t_table_out_user` */ insert into `t_table_out_user`(`id`,`name`,`age`) values (1,'乔峰',22),(5,'huge',22),(6,'zhoujielun',24),(7,'zhangjie',21),(8,'santy',26),(9,'suben',14),(10,'李小龙',100),(11,'扫地僧',120),(12,'阿紫',18),(13,'阿珠',18),(14,'王语嫣',18),(15,'天山童姥',100);
二、设计转换
- 输入:表输入(两个步骤)
- 查询: 合并记录
- 输出:Excel输出
三、转换配置
-
Step1:表输入(连接A库)组件配置
- 双击组件,写上步骤名称等
- 相关配置如下所示:
-
Step2:表输入(连接B库)组件配置
- 双击打开,设置步骤名称
- 配置信息,如下
-
Step3:合并记录组件配置
- 双击打开,设置步骤名称
- 配置信息,如下,
-
Step4:Excel输出组件配置
- 双击打开,设置步骤名称
- 配置信息,如下
-
Step5:保存转换
上述配置好后,点击确定即可!
四、运行转换
- 点击运行按钮,成功运行如下:
五、结果分析
- 在Excel中查看结果
- Preview data 中查看结果
切换到“Preview data页面”- 点击“合并记录”,看到结果数据
- 点击“合并记录”,看到结果数据