本期想分享一下:将分散于一张Excel的多个Sheets中的数据,合并到一张Sheet或数据库表中的方法。
准备如下:
Excel表里有Sheet1,Sheet2两个页面。Sheet1里有ID、名称、价格三个字段数据,Sheet2里有ID、售价、型号三个字段数据。
需要想把Excel的两张Sheets数据关联,写入到Excel的一张Sheet或数据库表中。
步骤:
1. 建立Sheet1、Sheet2的数据源 ;
上图2~4在数据源中添加了Excel的Sheet1,重复这几步,添加Sheet2。添加完成后,在数据源中会多两个excel文件。
2. 在Sheet2上建立关于ID为查找列,售价、型号为输出列的数据集查找
3. 在工程标签下,新建工程及转换,以Sheet1为数据源、Sheet2为查找表,输出表(ID、名称、价格、售价、型号)为目的。
对三个节点分别配置:
通过以上的转换执行后就可以把Excel的2张Sheets中的数据按ID关联合并在一张表。
比较原始Sheet1与Sheet2中的数据,这种方法是在Sheet2中查找与Sheet1中匹配的ID,故查询结果中能看到保留了Sheet1中完整的数据,但是Sheet2中有一条ID为F1的数据没有出现在查询结果中。
另外也可以考虑使用工具中的连接组件,将Sheet1、Sheet2都作为源数据。
连接组件中有三种连接方式可以选择:内连接、左外连接、全外连接。
大家可以用前面准备的数据操作下,比较看看不同连接方式处理的结果。
另外最后一步的Excel表也可以换成数据库表
转换执行完成后,可以到数据源的Table_1中浏览数据,结果应该与图16一致。
数据量较少时,建议采用上述方法。但如果数据量达到了百万,直接通过Excel去查找关联匹配效率会非常低。
可以使用下述方式改造:
1.分别以Sheet1、Sheet2为表结构建立2张同构表;
2.通过转换把Excel的数据抽取到对应表中。
3.接下来在表上建立数据集查找,这样下来操作对象都是数据库表,效率将会有很大的提高。
以上就是本期Excel数据的关联合并内容。