ETL中导入数据源完成后,就可以对数据源中的数据进行计算列、数据过滤、数据排序、数据分组、选出字段、集合运算以及数据连接等运算了。
该功能可以给当前数据源增加列字段后生成新的数据集。
例如:导入文本文件orders2020.txt,在orders2020数据源中通过OTime字段计算表达式date(OTime)后生成新列,列名为ODate。
选中数据源,点击编辑 - 计算列,或者点击工具栏中的【计算列】按钮,打开计算列界面,点击增加按钮
,添加计算列表达式:
并行计算:数据量大的复杂运算中,可使用并行计算提升性能,计算次序不确定。
点击【确定】,生成新的数据集内容如下:
该功能可以对数据源中的部分字段计算表达式后生成新的数据集。
例如:导入数据库表EMPLOYEE,结果类型为游标,从游标类型的EMPLOYEE数据源中选出字段EID、NAME、SURNAME、HIREDATE、SALARY,将NAME与SURNAME连接作成NAME字段,根据HIREDATE计算工龄生成Seniority字段,然后每个EID对应两条数据,分别为原工资SALARY和涨薪50%后的SALARY。
选中数据源,点击编辑 - 选出字段,或者点击工具栏中的【选出字段】按钮,配置如下:
序列/整数:非必填项,假设此处填写内容为参数X,X可以是序列或整数,选出字段的表达式中可通过”~”来引用X,为整数时可理解为to(X),相当于对结果集计算了X次。
点击【确定】,生成新的数据集内容如下:
该功能可以对数据源中的数据计算过滤表达式,筛选出符合条件的记录后生成新的数据集。
例如:导入数据库表EMPLOYEE,结果类型为序表,对序表类型的EMPLOYEE数据源设置过滤条件,筛选出DEPT为Sales且SALARY大于5000的数据。
选中数据源,点击编辑 - 数据过滤,或者点击工具栏中的【数据过滤】按钮,打开数据过滤界面,编辑过滤表达式: DEPT ==
"Sales" && SALARY > 5000,如下图所示:
点击【确定】,生成新的数据集内容如下:
过滤表达式中除了可以使用操作符还支持使用集算器函数,例如对上面的FILER数据集执行过滤,筛选员工名字首字母为B的员工信息,过滤表达式为:like(NAME,"B*"),配置如下:
点击【确定】,生成新的数据集内容如下:
该功能可指定数据源中数据的排序字段和排序方向,并用排序后的数据生成新的数据集。
例如:导入文本文件orders2020.txt,对数据源orders2020按照SID字段降序排序,同时按照Amount字段按照升序排列。
选中数据源,点击编辑 - 数据排序,或者点击工具栏中的【数据排序】按钮,可打开数据排序界面,点击增加按钮
,添加排序字段,如下图所示:
升序:是否为升序,数据源结果数据类型为游标时只支持升序排序。
并行计算:数据量大的复杂运算中并行计算提升性能,数据源结果类型为游标时不支持该选项;
把null值排到最后:把排序字段值为null的记录排到最后。
点击【确定】,生成新的数据集内容如下:
该功能可对数据集执行分组汇总计算,并用计算后的数据生成新的数据集。
例如:导入文本文件orders2020.txt,对数据源orders2020按照SID字段分组,并计算每组中OID的个数及Amount的总和。
选中数据源,点击编辑 - 数据分组,或者点击工具栏中的【数据分组】按钮,打开数据分组界面,添加分组字段和聚合字段,如下图所示:
结果集不做排序:结果集不再按分组字段排序;
分组键为序号:分组键为序号时,可直接定位;
返回每组的首行:返回当前组的值。和【保持明细】一起使用时取每个分组的第一条记录,合并后返回。忽略其他选项;
丢弃空值相关组:丢弃分组字段表达式计算结果为空的组;
分组键变化时分组:只和相邻对比,相当于归并,结果集不再排序;
分组键为真时分组:分组字段表达式计算结果为真时,开始新分组;
并行计算:数据量大的复杂运算中,并行计算提升性能;
保持明细:新增明细字段,保存每组聚合前的记录。
点击【确定】,生成新的数据集内容如下:
该功能可以对数据集中的行列执行转换。
例如:导入数据库表SCORES,将数据源SCORES中的SUBJECT字段值由行转为列,SCORES数据集内容如下:
选中数据源,点击编辑 – 行列转换,或者点击工具栏中的【数据转换】按钮,打开行列转换设置界面,设置分组字段为CLASS与STUDENTID,字段列名为SUBJECT,数据列名为SCORE:
由列转行:将结果集进行列转行操作。
点击【确定】,生成新的结果集内容如下:
该功能可以对多个数据集执行交、并、和、差集合运算。
例如:导入集文件emp1.btx与emp2.btx,计算两组数据的并集。emp1、emp2数据集内容如下:
选中其中一个数据源,比如选中emp1,点击编辑 - 集合运算,或者点击工具栏中的【集合运算】按钮,可打开集合运算界面,选择运算表、运算符和比较字段,如下图所示:
点击【确定】,生成新的数据集内容如下:
该功能可以将多个数据集通过关联字段执行数据关联。
例如:导入数据库表STATECAPITAL和Excel文件STATENAME.xlsx,将两个数据集根据STATEID字段计算内连接,STATECAPITAL、STATENAME数据内容如下:
选中其中一个数据源,比如选中STATECAPITAL,点击编辑 - 数据关联,或者点击工具栏中的【数据关联】按钮,打开数据关联界面,选择连接表,连接类型,连接字段和选出字段,如下图所示:
点击【确定】,生成新的数据集内容如下:
数据处理时,表达式中还支持使用参数。
例如:对源表EMPLOYEE执行数据过滤计算,筛选出DEPT为指定值的数据,此时可以用参数来表示该指定值。
首先设置参数:点击工具 - 参数,进入参数设置界面,点击按钮增加参数:
增加参数arg1并给参数赋值,接下来就可以在表达式中使用,选中数据源EMPLOYEE,点击数据过滤,编辑过滤表达式:
点击【确定】,生成新的数据集如下: