数据处理

阅读(1742) 标签: 过滤, 排序, 分组, 集合, 连接,

ETL中导入数据源完成后,就可以对数据源中的数据进行计算列、数据过滤、数据排序、数据分组、选出字段、集合运算以及数据连接等运算了。

计算列

该功能可以给当前数据源增加列字段后生成新的数据集。

例如:导入文本文件orders2020.txt,在orders2020数据源中通过OTime字段计算表达式date(OTime)后生成新列,列名为ODate

选中数据源,点击编辑 - 计算列,或者点击工具栏中的【计算列】按钮,打开计算列界面,点击增加按钮,添加计算列表达式:

 

并行计算:数据量大的复杂运算中,可使用并行计算提升性能,计算次序不确定。

点击【确定】,生成新的数据集内容如下:

选出字段

该功能可以对数据源中的部分字段计算表达式后生成新的数据集。

例如:导入数据库表EMPLOYEE,结果类型为游标,从游标类型的EMPLOYEE数据源中选出字段EIDNAMESURNAMEHIREDATESALARY,将NAMESURNAME连接作成NAME字段,根据HIREDATE计算工龄生成Seniority字段,然后每个EID对应两条数据,分别为原工资SALARY和涨薪50%后的SALARY

选中数据源,点击编辑 - 选出字段,或者点击工具栏中的【选出字段】按钮,配置如下:

序列/整数:非必填项,假设此处填写内容为参数XX可以是序列或整数,选出字段的表达式中可通过”~”来引用X,为整数时可理解为to(X),相当于对结果集计算了X次。

点击【确定】,生成新的数据集内容如下:

  

数据过滤

该功能可以对数据源中的数据计算过滤表达式,筛选出符合条件的记录后生成新的数据集。

例如:导入数据库表EMPLOYEE,结果类型为序表对序表类型的EMPLOYEE数据源设置过滤条件,筛选出DEPTSalesSALARY大于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数据集内容如下:

选中数据源,点击编辑 行列转换,或者点击工具栏中的【数据转换】按钮,打开行列转换设置界面,设置分组字段CLASSSTUDENTID字段列名SUBJECT数据列名SCORE

由列转行:将结果集进行列转行操作。

点击【确定】,生成新的结果集内容如下:

集合运算

该功能可以对多个数据集执行交、并、和、差集合运算。

例如:导入集文件emp1.btxemp2.btx,计算两组数据的并集。emp1emp2数据集内容如下

选中其中一个数据源,比如选中emp1,点击编辑 - 集合运算,或者点击工具栏中的【集合运算】按钮,可打开集合运算界面,选择运算表、运算符和比较字段,如下图所示:

点击【确定】,生成新的数据集内容如下:

数据关联

该功能可以将多个数据集通过关联字段执行数据关联。

例如:导入数据库表STATECAPITALExcel文件STATENAME.xlsx将两个数据集根据STATEID字段计算内连接STATECAPITALSTATENAME数据内容如下:

选中其中一个数据源,比如选中STATECAPITAL,点击编辑 - 数据关联,或者点击工具栏中的【数据关联】按钮,打开数据关联界面,选择连接表,连接类型,连接字段和选出字段,如下图所示:

 

点击【确定】,生成新的数据集内容如下:

设置参数

数据处理时,表达式中还支持使用参数。

例如:对源表EMPLOYEE执行数据过滤计算,筛选出DEPT为指定值的数据,此时可以用参数来表示该指定值。

首先设置参数:点击工具 - 参数,进入参数设置界面,点击按钮增加参数:

增加参数arg1并给参数赋值,接下来就可以在表达式中使用,选中数据源EMPLOYEE,点击数据过滤,编辑过滤表达式:

点击【确定】,生成新的数据集如下: