[Kettle] 记录处理

1.排序记录

排序是对数据中的无序记录,按照自然或客观规律,根据关键字段大小递增或递减的次序,对记录重新排列的过程

数据源

2019年11月月考数学成绩(Kettle数据集3).xlsicon-default.png?t=N7T8https://download.csdn.net/download/Hudas/88521681

2019年11月月考数学成绩部分截图

需求:为了得出学生的成绩排名,使用【排序记录】组件,对学生的成绩从低到高排序

1.1 建立【排序记录】转换工程

使用Ctrl+N快捷键,创建【排序记录】转换工程,单击【核心对象】选项卡,展开【输入】对象,选中【Excel输入】组件,并拖曳到右边工作区中,设置参数,导入"2019年11月月考数学成绩.xls"文件,预览数据,如下图所示

从上图可以看出"数学"字段数据处于无序状态

1.2 设置【排序记录】组件参数

在【排序记录】转换工程中,单击【核心对象】选项卡,展开【转换】对象,选中【排序记录】组件,并拖曳至右边工作区中

由【Excel输入】组件指向【排序记录】组件,建立节点连接(长按shift键并点击鼠标左键在两者间进行连接),如下图所示

双击【排序记录】组件,弹出【排序记录】对话框,如下图所示

【排序记录】对话框中的参数说明如下表所示

字段参数说明

步骤名称

表示排序组件名称,在单个转换工程中,名称必须唯一

默认值是【排序记录】组件名称

排序目录

表示排序时存放临时文件的目录,可以直接键盘设置,也可以单击【浏览(B)…】按钮,设置为计算机上已存在的目录

默认值是当前系统标准临时文件目录%%java.io.tmpdir%%

临时文件前缀表示临时文件前缀名称,排序时使用临时文件,可以加快和方便排序。当行数超过指定的排序大小时候,系统将使用临时文件排序行。默认值为out
排序缓存大小

表示存放在内存的记录数,存储在内存中的记录越多,排序过程就越快。默认值为1000000

未使用内存限值(%)表示未使用内存的百分比限值。排序时,如果发现可用的空闲内存少于指定的数字,系统会将数据分页到磁盘。默认值为空
压缩临时文件表示需要临时文件来完成排序时,是否压缩该临时文件。默认值为空
仅仅传递非重复的记录

表示是否启用仅向输出流传递唯一的记录。默认值为空

字段名称

指定排序的字段名称,可用多个字段进行组合排序。可以直接键盘输入,也可以单击输入框,从下拉框中选中输入流的字段

还可以点击对话框中的【获取字段】按钮,获取所有字段进行编辑,保留需要排序的关键字段,删除不参加排序的字段

升序

对指定的字段制订排序方向(升序/降序),选项有:是、否
大小写敏感指定的排序时是否区分大小写,选项有:是、否

Sort base on current locale?

是否根据当前位置排序,选项有:是、否

Collator Strength

指定排序器强度,选项有:0、1、2、3

Presorted?

是否进行预排序,选项有:是、否

 在【排序目录】对话框中,设置参数,将"数学"字段的数据按照从低到高进行排序,步骤如下

(1) 确定组件名称,【步骤名称】参数保留默认值"排序记录"

(2) 确定排序目录,【排序目录】参数保留默认值"%%java.io.tmpdir%%"

(3) 设置排序字段参数,在【字段】表中,对各字段的参数进行设置

此时完成【排序目录】组件参数的设置,如下图所示

1.3 预览结果数据

在【排序记录】排序工程中,单击【排序记录】组件,再单击工作区上方的"预览这个转换"图标

预览数据,展示排序后的数据,如下图所示

2.去除重复记录

由于输入或其他错误的原因,数据文件中可能出现两条或多条数据完全相同的记录,这些相同的记录称为重复记录

重复的记录属于"脏数据",会造成数据统计和分析不正确,必须清洗掉重复记录

数据源

期考成绩(Kettle数据集4).xlsicon-default.png?t=N7T8https://download.csdn.net/download/Hudas/88527254?spm=1001.2014.3001.5501需求:由于在"期考成绩.xls"文件中,发现存在序号不同,但是学号、各科考试成绩完全相同的记录,所以需要使用【去除重复记录】组件,去除这些重复的数据

2.1 建立【去除重复记录】转换工程

在去除重复记录(去重)之前,必须使用关键字段对数据记录进行排序,确定哪些记录属于重复记录

使用Ctrl+N快捷键,创建【去除重复记录】转换工程,单击【核心对象】选项卡,展开【输入】对象,选中【Excel输入】组件,并拖曳到右边工作区中,设置参数,导入"期考成绩.xls"文件,接着创建【排序记录】组件,并由【Excel输入】组件指向【排序记录】组件,建立节点连接,如下图所示

双击【排序记录】组件,对"学号"字段按照升序进行排序后预览数据 

如上图所示,除了"序号"字段数据外,"学号"分别为"201709023","201709028","201709030"的数据各有两条记录,并且对应的"语文""数学"等考试科目和"创建时间"的数据也相同

2.2 设置【去除重复记录】组件参数

在【去除重复记录】转换工程中,单击【核心对象】选项卡,展开【转换】对象,选中【去除重复记录】组件,并拖曳至右边工作区中,并由【排序记录】组件指向【去除重复记录】组件,建立节点连接,如下图所示

双击【去除重复记录】组件,弹出【去除重复记录】对话框,如下图所示

【去除重复记录】组件的有关参数说明如下表所示

参数名称说明
步骤名称

表示去除重复组件名称,在单个转换工程中,名称必须唯一

默认值是【去除重复记录】的组件名称

增加计数器到输出

表示选择此选项时,计数器计算重复记录的条数,并将计数器字段添加至输出流中

选择后才能设置【计数器字段】参数名称

默认值为空

计数器字段

表示对重复记录计数的计数器字段名称,【增加计数器到输出】勾选时才能设置

默认值为空

重定向重复记录

表示选择此选项时,将重复的记录作为错误处理并将其重定向到组件的错误流。如果不选择,重复的记录将被删除。选择后才能编辑【错误描述】内容,内容是指当组件检测到重复记录时显示的错误处理描述

默认值为空

错误描述表示对出现重复记录现象的内容描述,【重定向重复记录】为√ 时才能设置。默认值为空
用来比较的字段表示用来比较是否重复记录的字段,用来比较的字段可以有多个,用一个表来分行设置不同的字段参数,字段参数如下:
字段名称:用来比较的字段,默认值为空
忽略大小写:比较字段是否区分大小写,选项有Y、N,默认值为空

在【去除重复记录】对话框中,设置参数,去除学号相同的记录,步骤如下

(1) 确定组件名称,【步骤名称】参数保留默认值"去除重复记录"

(2) 确定计数器字段,【增加计数器到输出】设置为"",【计数器字段】设置为"重复行数"

(3) 确定错误描述,【重定向重复记录】设置为"√",【错误描述】设置为"重复输入"

(4) 设置用来比较的字段参数,在【用来比较的字段】表中,【字段名称】设置为"学号",【忽略大小写】设置为"N"

此时完成【去除重复记录】组件参数的设置,如下图所示

2.3 预览结果数据

在【去除重复记录】转换工程中,单击【去除重复记录】组件,再单击工作区上方的"预览这个转换"图标,即可预览去除重复记录后的数据,如下图所示

从上图可以看出原先有55行数据记录,删除了重复的3条记录以后,还剩下52条数据记录

3.替换NULL值

在Kettle转换过程中,默认情况下,会将空值当作NULL值处理

如果数据类型字段出现NULL值,那么在计算时就会出现错误

数据源

2019年11月月考英语成绩(Kettle数据集6).xlsicon-default.png?t=N7T8https://download.csdn.net/download/Hudas/88530387?spm=1001.2014.3001.5501需求:学号为"201709007"的同学没有参加考试,根据规定考试分数将按零分处理,需要使用【替换NULL值】组件,使用"0"替换该同学的英语考试分数

3.1 建立【替换NULL值】转换工程

使用Ctrl+N快捷键,创建【替换NULL值】转换工程,单击【核心对象】选项卡,展开【输入】对象,选中【Excel输入】组件,并拖曳到右边工作区中,设置参数,导入"2019年11月月考英语成绩.xls"文件,预览数据,"学号"字段数据为"201709007"所对应的"英语"字段数据为<null>,如下图所示

在【替换NULL值】转换工程中,单击【核心对象】选项卡,展开【应用】对象,选中【替换NULL值】组件,并拖曳至右边工作区中,由【Excel输入】组件指向【替换NULL值】组件,建立节点连接,如下图所示

3.2 设置【替换NULL值】组件参数

双击【替换NULL值】组件,弹出【替换NULL值】对话框,如下图所示

【替换NULL值】组件的有关参数说明如下表所示

参数名称说明
作业名称表示【替换NULL值】组件名称,在单个转换工程中,名称必须唯一,默认值是【替换NULL值】组件名称
选择字段表示对所有记录的、指定字段的NULL值进行值替换的方式,默认值为空
选择值类型表示对所有记录、指定的数据类型的NULL值进行替换的方式,默认值为空
替换所有字段的null值表示对所有记录、所有字段的NULL值进行替换方式,默认的替换方式,具体如下
① 值替换为:表示用来替换NULL的值,默认值为空
② 设置空字符串:表示是否设置空字符串,默认值为空
③ 掩码(日期):表示日期字段的掩码格式,默认值为空

字段

表示勾选【选择字段】参数后,使用【字段】表设置参数,具体如下
① 字段:表示输入流的字段名称,单击下拉框选择设置
② 值替换为:表示要替换NULL的值
③ 转换掩码(日期):表示日期字段的掩码格式,默认值为空
④ 设置空字符串:表示是否设置空字符串,选项有:是、否,默认值为空

值类型

表示勾选【选择值类型】参数后,使用【值类型】表设置参数,具体如下
① 类型:表示选中数据类型,单击下拉框选择设置
② 值替换为:表示要替换NULL的值
③ 转换掩码(日期):表示日期字段的掩码格式,默认值为空
④ 设置空字符串:表示是否设置空字符串,选项有:是、否,默认值为空

在【替换NULL值】对话框中,设置参数,用"0"替换"英语"字段的数据"null",步骤如下

(1) 确定组件名称,【步骤名称】参数保留默认值"替换NULL值"

(2) 选择【选择字段】方式设置字段参数,【选择字段】设置为"√",并在【字段】表中,对字段的参数进行设置

此时完成【替换NULL值】组件参数的设置,如下图所示

3.3 预览结果数据

在【替换NULL值】转换工程中,单击【替换NULL值】组件,再单击工作区上方的"预览这个转换"图标,预览替换NULL值后的数据,如下图所示

4.过滤记录

在数据处理时,往往要对数据所属类别、区域和时间等进行限制,将限制范围外的数据过滤掉

数据源

2019年10月年级月考数学成绩(Kettle数据集7).xlsicon-default.png?t=N7T8https://download.csdn.net/download/Hudas/88530845?spm=1001.2014.3001.5501

需求:为了统计2班的考试人数和成绩,需要对"2019年10月年级月考数学成绩.xls"文件,使用【过滤记录】组件,过滤掉不是2班的数据

4.1 建立【过滤记录】转换工程

使用Ctrl+N快捷键,创建【过滤记录】转换工程,单击【核心对象】选项卡,展开【输入】对象,选中【Excel输入】组件,并拖曳到右边工作区中,设置参数,导入"2019年10月年级月考数学成绩.xls"文件,预览数据,如下图所示,文件包括有1班、2班的数据

2019年10月年级月考数学成绩部分数据

在【过滤记录】转换工程中,单击【核心对象】选项卡,展开【流程】对象,选中【过滤记录】组件,并拖曳至右边工作区中,由【Excel输入】组件指向【过滤记录】组件,建立节点连接,如下图所示 

4.2 设置【过滤记录】组件参数

双击【过滤记录】组件,弹出【过滤记录】对话框,如下图所示

【过滤记录】组件的有关参数说明如下表所示

参数名称说明
步骤名称表示【过滤记录】组件名称,在单个转换工程中,名称必须唯一,默认值为【过滤记录】组件名称
发送true数据给步骤表示当条件为true时,记录被发送到此组件(步骤)。此参数也可以在与下一个组件(步骤)进行节点连接时设置,默认值为空
发送false数据给步骤表示当条件为false时,记录被发送到此组件(步骤)。此参数也可以在与下一个组件(步骤)进行节点连接时设置,默认值为空
条件

表示过滤条件的表达式,在【条件】表达式输入框中设置表达式中各个参数,默认值为空

条件表达式

条件表达式是由函数(运算符)构成的一个赋值语句

格式:<字段><函数><表达式>

格式的中间为函数,左边为字段,右边是值表达式,如a=5、a>(b+2)、a<=10等

为了方便读者理解,在【条件】表达式输入框中,增加了条件表达式设置的指向说明,如下图所示

增加子条件

单击+号图标可以增加子条件,这时在【条件】表达式输入框中,显示出增加的条件表达式,初次生成的是一条null=[ ]的空表达式,如下图所示

单击null=[ ]空表达式,可对该表达式进行设置,如下图所示,单击"向上"按钮可以向上切换回条件表达式

右键单击子条件表达式,弹出右键快捷菜单,可以对子条件进行编辑、删除、复制、粘贴、移动位置等操作,如下图所示

选择输入流的字段

单击"选择输入流字段"指向的【<field>】字段输入框,弹出【字段】对话框,列出输入流字段表,选择需要过滤的字段

选择函数

单击【=】函数输入框,弹出【函数】对话框,并列出过滤比较函数,有关过滤比较函数的说明如表所示

函数名称说明
=表示等于,判断表达式字段是否等于右边的值,是比较【函数】默认值
<>表示不等于,判断表达式字段是否不等于右边的值
<表示小于,判断表达式字段是否小于右边的值
<=表示小于等于,判断表达式字段是否小于等于右边的值
>表示大于,判断表达式字段是否大于右边的值
>=表示大于等于,判断表达式字段是否大于等于右边的值
REGEXP表示正则表达式,判断表达式字段是否与模式匹配
IS NULL表示为空,判断表达式字段是否为空
IS NOT NULL表示不为空,判断表达式字段是否不为空
IN LIST表示在列表中,判断表达式字段是否在指定的list列表中
CONTAINS表示包含,判断表达式字段是否包含右边的值
STARTS WITH表示以什么开始,判断表达式字段是否以右边的值开始
ENDS WITH表示以什么结束,判断表达式字段是否以右边的值结束
LIKE表示包括,判断表达式字段是否包括右边的值
TRUE

表示真,判断表达式字段是否为真 

选择比较字段

单击"选择要比较的字段"指向的【<field>】字段输入框,弹出类似的【字段】对话框,选中要比较的字段,单击【确定】按钮,确定要比较的字段

输入比较的值

单击"输入要比较的值"指向的【<value>】值输入框,弹出【E输入一个值】对话框,输入比较的值

有关【E输入一个值】对话框中的参数的说明如下表所示

参数名称说明
类型

表示值的类型(默认值为String)

类型选项有:BigNumber、Binary、Boolean、Date、Integer、Internet Address、Number、String、Timestamp

表示值,可以是具体值或表达式,默认值为1
转换格式表示值的转换格式,默认值为空
长度表示值的长度,默认值为-1
精度

表示值的精度,默认值为-1

提示Tips:需要注意,若设置"输入要比较的值"指向的【<value>】值参数,则不能设置"选择要比较的字段"指向的【<field>】字段参数,二者只能选其一

条件取反

鼠标移向 "条件取反"指向的输入框,显示出黑底红字的"NOT",单击该输入框并移开鼠标,此时显示为白底黑字的"NOT",表示条件取反,即若表达式为True,则条件为False

若表达式为False,则条件为True

"条件取反"指向的输入框为一个奇偶输入框,单击取反,再次单击则取正

在【过滤记录】对话框中,设置参数,过滤掉不是2班的数据,步骤如下

(1) 确定组件名称,【步骤名称】参数保留默认值"过滤记录"

(2) 在【条件】表达式输入框中设置表达式中各个参数

① 单击左边的【<field>】字段输入框,弹出【字段】对话框,列出输入流字段表,选择需要过滤的字段,选中"班级"字段

② 单击 "比较函数"指向的【=】函数输入框,弹出【函数】对话框,选择"="的过滤比较函数,单击【确定】按钮,确认过滤比较函数

③ 单击【<value>】输入框,弹出【E输入一个值】对话框,对参数进行设置

此时完成【过滤记录】组件参数的设置,如下图所示

4.3 预览结果数据

在【过滤记录】转换工程中,单击【过滤记录】组件,再单击工作区上方的"预览这个转换"图标,预览过滤记录后的数据,如下图所示

5.值映射

在数据处理系统中,为了加快处理速度、减少内存和存储空间消耗,往往使用数字、字母,或它们的组合表示真实的数据涵义,例如,用"1"和"0"分别表示性别,难以直接看懂

数据源

学籍信息(Kettle数据集8).xlsicon-default.png?t=N7T8https://download.csdn.net/download/Hudas/88533475?spm=1001.2014.3001.5501需求:在某校学生的"学籍信息.xls"文件中,性别字段数据分别用"1"或"0"表示。为了更加直观,一目了然地读懂学生的学籍信息,需要使用【值映射】组件,还原其对应的值"男"或"女"

5.1 建立【值映射】转换工程

使用Ctrl+N快捷键,创建【值映射】转换工程,单击【核心对象】选项卡,展开【输入】对象,选中【Excel输入】组件,并拖曳到右边工作区中,设置参数,导入"学籍信息.xls"文件,预览数据,如下图所示,当前数据中,"性别"字段的数据,以"0.0"或"1.0"表示

注意:博主在这边将"性别"字段类型设置成String

在【值映射】转换工程中,单击【核心对象】选项卡,展开【转换】对象,选中【值映射】组件,并拖曳至右边工作区中,由【Excel输入】组件指向【值映射】组件,建立节点连接,如下图所示

5.2 设置【值映射】组件参数

双击【值映射】组件,弹出【值映射】对话框,如下图所示

【值映射】组件的有关参数说明如下表所示

参数名称说明
步骤名称

表示【值映射】组件名称,在单个转换工程中,名称必须唯一。默认值是【值映射】组件名称

使用的字段名表示需要进行值映射的输入流字段名称。默认值为空
目标字段名表示进行值映射后输出流新字段名称,为空时覆盖原来字段。默认值为空
不匹配时默认值表示不匹配字段值数据时的默认值。默认值为空
字段值

表示需要进行值映射的字段值参数表,使用【字段值】表设置参数,有关参数如下
① 源值:映射字段的源数据值,默认值为空
② 目标值:映射后的目标数据值,默认值为空

将"性别"字段中"1.0","0.0"数据分别用"男","女"映射替换,对参数进行设置

此时完成【值映射】组件参数的设置

5.3 预览结果数据

在【值映射】转换工程中,单击【值映射】组件,再单击工作区上方的"预览这个转换"图标,预览值映射后的数据,如下图所示

6.字符串替换

字符串替换与值映射非常类似,不同之处,字符串替换的字段值是字符串,值映射的字段可以是多种数据类型

数据源

学籍信息(Kettle数据集8).xlsicon-default.png?t=N7T8https://download.csdn.net/download/Hudas/88533475?spm=1001.2014.3001.5501需求:由于在"学籍信息.xls"文件中,学籍数据用"H"或"J"表示,需要使用【字符串替换】组件,分别还原其对应的值"户籍生"和"借读生"

6.1 建立【字符串替换】转换工程

使用Ctrl+N快捷键,创建【字符串替换】转换工程,单击【核心对象】选项卡,展开【输入】对象,选中【Excel输入】组件,并拖曳到右边工作区中,设置参数,导入"学籍信息.xls"文件,预览数据,如下图所示,当前数据中,"学籍"字段的数据,以"H"或"J"表示

在【字符串替换】转换工程中,单击【核心对象】选项卡,展开【转换】对象,选中【字符串替换】组件,并拖曳至右边工作区中,由【Excel输入】组件指向【字符串替换】组件,建立节点连接,如下图所示

6.2 设置【字符串替换】组件参数

双击【字符串替换】组件,弹出【字符串替换】对话框,如下图所示

【字符串替换】组件的有关参数说明如下表所示

参数名称说明
步骤名称表示【字符串替换】组件名称,在单个转换工程中,名称必须唯一。默认值是【字符串替换】组件名称
字段表示对将要进行字符串替换的字段参数,使用一个【字段】表对字段参数进行设置
输入流字段表示要进行字符串替换的输入流字段。默认值为空
输出流字段

表示进行字符串替换后的输出流新字段,为空时覆盖原来要进行替换的输入流字段,默认值为空

使用正则表达式表示是否使用正则表达式,选项有:Y、N。默认值为空
搜索表示是否搜索此字符串的匹配值,默认值为空
使用…替换表示要替换匹配值的字符串数据,默认值为空
设置为空串?表示是否设置空字符串,选项有:Y、N。默认值为空
使用字段值替换表示使用一个字段值替换字符串,默认值为空
整个单词匹配表示是否要整个单词都匹配,选项有:Y、N。默认值为空
大小写敏感表示是否区分大小写,选项有:Y、N。默认值为空
In Unicode表示是否设置Unicode,选项有:Y、N。默认值为空

在【字符串替换】对话框中,设置参数,对输入数据中"学籍"字段中数据"H"和"J",分别使用"户籍生"和"借读生"进行替换,步骤如下

(1) 确认组件名称,【步骤名称】保留默认值,设置为"字符串替换"

(2) 确定字段参数,对【字段】表的参数进行设置

此时完成【字符串替换】组件参数的设置,如下图所示

6.3 预览结果数据

在【字符串替换】转换工程中,单击【字符串替换】组件,再单击工作区上方的"预览这个转换"图标,预览字符串替换后的数据,如下图所示

7.字符串操作

在数据输入过程中,有时候不小心输入的多余的空格、错误的字符等,字符串操作是指将数据中不需要的字符处理掉

数据源

学籍信息(Kettle数据集8).xls icon-default.png?t=N7T8https://download.csdn.net/download/Hudas/88533475?spm=1001.2014.3001.5501需求:在“学籍信息.xls”文件中,学生学籍信息的籍贯字段数据前后有多余的空格,需要使用【字符串操作】,去除这些空格,规范学籍信息

7.1 建立【字符串操作】转换工程

使用Ctrl+N快捷键,创建【字符串操作】转换工程,单击【核心对象】选项卡,展开【输入】对象,选中【Excel输入】组件,并拖曳到右边工作区中,设置参数,导入"学籍信息.xls"文件,预览数据,如下图所示,当前数据中,"籍贯"字段有一些数据前面存在空格

在【字符串操作】转换工程中,单击【核心对象】选项卡,展开【转换】对象,选中【字符串操作】组件,并拖曳至右边工作区中,由【Excel输入】组件指向【字符串操作】组件,建立节点连接,如下图所示

7.2 设置【字符串操作】组件参数

双击【字符串操作】组件,弹出【String operations】对话框,如下图所示

【字符串操作】组件的有关参数说明如下表所示

参数名称说明
Step name

表示【字符串操作】组件名称,在单个转换工程中,名称必须唯一

默认值是【字符串操作】组件名称

In stream field

表示输入流中要进行字符串操作字段名称,可以单击【Get fields】按钮,获取字段名称

默认值为空

Out stream field

表示输出流目标字段,进行字符串操作后的目标字段,当为空时,覆盖原字段

默认值为空

Trim type

表示修剪处理的类型,选项有none、left、right、both

默认值为空

Lower/Upper

表示进行字母大小写处理,选项有none、lower、upper

默认值为空

Padding

表示填充处理,选项有none、left、right

默认值为空

Pad char

表示使用填充字符处理,输入要填充的字符

默认值为空

Pad Length

表示填充的长度,输入要填充的长度

默认值为空

InitCap

表示是否初始化,选项有是、否

默认值为空

Escape

表示转义或取消XML、HTML、CDATA和SQL等转义

默认值为空

Digits

表示对数字是返回删除,还是什么都不做,选项有none、only、remove

默认值为空

Remove Special character

表示删除特殊字符

默认值为空

在【String operations】对话框中,设置参数,删除"籍贯"字段数据中的空格,步骤如下

(1) 确定组件名称,【Step name】参数保留默认值"字符串操作"

(2) 设置字符串操作的字段参数,在【The fields to process】表中设置字段参数,在表第1行,单击【In stream field】输入框,在输入流字段中选中"籍贯"字段,单击【Trim type】输入框,在选项中选中"both",其他参数使用默认值

此时完成【字符串操作】组件参数的设置,如下图所示

7.3 预览结果数据

在【字符串操作】转换工程中,单击【字符串操作】组件,再单击工作区上方的"预览这个转换"图标,预览字符串操作后的数据,如下图所示

8.分组

在进行数据统计中,往往要对类别、区域、型号等范围进行统计,分组是对指定的字段或字段集合的数据进行分组统计

数据源

2019年10月月考英语成绩(Kettle数据集5).xlsicon-default.png?t=N7T8https://download.csdn.net/download/Hudas/88529906?spm=1001.2014.3001.5501需求:为了解各班级和学生的学业情况,需要对"2019年10月月考英语成绩.xls"文件,使用【分组】组件,统计各班的人数和平均分数

8.1 建立【分组】转换工程

在分组之前,必须使用关键字段对数据记录进行排序,确定哪些记录分组在一起

使用Ctrl+N快捷键,创建【分组】转换工程,单击【核心对象】选项卡,展开【输入】对象,选中【Excel输入】组件,并拖曳到右边工作区中,设置参数,导入"2019年10月月考英语成绩.xls"文件,接着创建【排序记录】组件,并由【Excel输入】组件指向【排序记录】组件,建立节点连接,如下图所示

双击【排序记录】组件,对"班级"字段按照升序进行排序后预览数据

在【分组】转换工程中,单击【核心对象】选项卡,展开【统计】对象,找到【分组】组件,并拖曳到右边工作区中,并由【排序记录】组件指向【分组】组件,建立节点连接,如下图所示

8.2 设置【分组】组件参数

双击【分组】组件,弹出【分组】对话框,如下图所示

【分组】组件有关参数说明如下表所示

参数名称说明
步骤名称

表示分组的组件名称,在单个转换工程中,名称必须唯一

默认值是【分组】的组件名称

包括所有的行

表示是否包括所有记录。使用勾选框设置参数,希望在输出中包含所有记录,则勾选,只想输出聚合记录,则不勾选

默认值为空

排序目录

表示指定存储临时文件的目录。分组的记录数超过5000个时,必须指定一个目录。此参数只有勾选【包括所有的行】参数后才能设置

默认值是系统的标准临时目录%%java.io.tmpdir%%

临时文件前缀

表示命名临时文件的文件前缀,只有勾选【包括所有的行】参数后才能设置

默认值为grp

添加行号,在每个组中重新启动表示是否添加一个记录号,在每个组中从1重新启动。勾选此参数时所有记录都包含在输出中,且每个记录都有一个记录号。此参数终于勾选【包括所有的行】参数后才有效默认值为空
行号列名

表示要为每个新组添加记录的字段名称

默认值为空

总返回一个结果行

表示是否即使没有输入记录,也返回结果记录。当没有输入记录时,返回计数0。如果只想有输入时才输出结果记录,则此参数不勾选,默认值为空

构成分组的字段

表示分组的字段参数。分组的字段可以有多个,使用一个【构成分组的字段】表设置【分组字段】参数,可以设置多个分组字段。需要注意的是,如果没有分组的字段,那么该表留空来计算整个数据集的聚合函数

默认值为空

聚合表示聚合字段的参数,使用一个【聚合】表来设置聚合字段名称、聚合方法和输出结果新字段名称
名称表示聚合字段的名称,输出结果的新字段名称,默认值为空
Subject表示对其使用聚合方法的对象字段,默认值为空
类型

表示聚合方法。在下拉框中选取聚合方法,默认值为空。聚合方法如下
1. 求和
2. 平均:求平均
3. Median:中间值
4. Percentile(linear interpolation):百分位(线性插值)
5. 最小:求最小值
6. 最大:求最大值
7. 个数:数量(N)
8. 使用,连接同组字符串:连接由,(逗号)分隔的字符串
9. 第一个非空值
10. 最后一个非空值

11. 第一个值(包括null))
12. 最后一个值(包括null))
13. 累积和(对所有行)
14. 累积平均值(对所有行)
15. 标准偏差
16. 使用指定字符连接同组字符串
17. Number of distinct values:不同值的数量
18. Number of rows(without field argument):记录数(没有字段参数)
19. Standard deviation(sample):标准偏差(样本)
20. Percentile(nearest-rank method):百分位(nearest-rank方法)

表示聚合的值,默认值为空

在【分组】对话框中,设置参数,分组统计各班的人数和平均分数,步骤如下

(1) 设置组件名称,【步骤名称】参数采用默认值"分组"

(2) 确定分组字段,在【构成分组字段】表的第1行,【分组字段】设置为"班级"

(3) 确定聚合字段并设置参数,对【聚合】表的参数进行设置

此时完成【分组】组件参数的设置,如下图所示

8.3 预览结果数据

在【分组】转换工程中,单击【分组】组件,再单击工作区上方的"预览这个转换"图标,预览数据分组后的数据,如下图所示

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/176911.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

安装包 amd,amd64, arm,arm64 都有什么区别

现在的安装包也不省心&#xff0c;有各种版本都不知道怎么选。 根据你安装的环境配置。 amd&#xff1a; 32位X86 amd64&#xff1a; 64位X86 arm&#xff1a; 32位ARM arm64&#xff1a; 64位ARM amd64是X86架构的CPU&#xff0c;64位版。amd64又叫X86_64。主流的桌面PC&am…

《洛谷深入浅出进阶篇》P3397 地毯————二维差分

上链接&#xff1a;P3397 地毯 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)https://www.luogu.com.cn/problem/P3397 上题干&#xff1a; 题目描述 在 nn 的格子上有 m 个地毯。 给出这些地毯的信息&#xff0c;问每个点被多少个地毯覆盖。 输入格式 第一行&#xff0c;两个…

腾讯云五年服务器CVM和三年轻量应用服务器选哪个?

腾讯云3年轻量和5年云服务器CVM优惠活动入口&#xff0c;3年轻量应用服务器配置可选2核2G4M和2核4G5M带宽&#xff0c;5年CVM云服务器可以选择2核4G和4核8G配置可选&#xff0c;阿腾云atengyun.com分享腾讯云3年轻量应用服务器和5年云服务器CVM优惠活动入口和配置报价&#xff…

【论文阅读VLDB13】Online, Asynchronous Schema Change in F1

Online, Asynchronous Schema Change in F1 ABSTRACT 在一个globally 分布式数据库&#xff0c;with shared data, stateless servers, and no global membership.进行一个schema演变。证明许多常见的模式更改可能会导致异常和数据库损坏&#xff0c;通过将破坏引起的模式更改…

AMEYA360分析:蔡司工业CT中的自动缺陷检测

蔡司自动缺陷检测&#xff1a;适用于您的应用领域的AI软件 蔡司自动化缺陷检测机器学习软件将人工智能应用于3D CT和2D X射线系统&#xff0c;树立了新的标杆&#xff0c;可对缺陷或异常(不规则)进行检测、定位与分类&#xff0c;同时通过读取CT扫描和X射线结果对其进行详细分析…

工业品电商,新的隐形冠军藏不住了?

【潮汐商业评论/原创】 “时代真的变了。”自打从淘宝买了一批配件后&#xff0c;工厂老板李瓦就经常感慨。 李瓦经营着一家专门生产机器零部件的工厂&#xff0c;日常经常要采购传送带、螺丝、螺母等材料&#xff0c;过去他主要通过线下的方式进货。但最近朋友圈里一段淘宝工…

超越任务调度的极致:初探分布式定时任务 XXL-JOB 分片广播

XXL-JOB 是一个分布式任务调度平台&#xff0c;支持分片任务执行。 1. 依赖引入 在项目中引入 XXL-JOB 的相关依赖。通常&#xff0c;你需要在项目的 pom.xml 文件中添加如下依赖&#xff1a; <dependency><groupId>com.xuxueli</groupId><artifactId&…

本地顺风车小程序源码系统 源码开源可二次开发 出行无忧:一键预约顺风车 带完整搭建教程

共享经济和互联网技术的发展。随着人们出行需求的不断增加&#xff0c;顺风车作为一种绿色、共享的出行方式&#xff0c;越来越受到广大用户的青睐。为了满足这种需求&#xff0c;本地顺风车小程序应运而生&#xff0c;为用户提供了一种方便、快捷、可靠的顺风车出行服务。 以…

[修改Linux下ssh端口号]解决无法修改sshd_config无法修改

前言&#xff1a;写本文的前因是本人的阿里云服务器经常被黑客暴力破解ssh的22端口号。再网络上搜索解决都是说使用root权限进行修改&#xff0c;但本人在root下也无法成功进行修改sshd_config文件。所以在大量搜索下终于找到了解决方案&#xff0c;现在分享出来给有需要的人使…

kubernetes--pod详解

目录 一、pod简介&#xff1a; 1. Pod基础概念&#xff1a; 2. Kubrenetes集群中Pod的两种使用方式&#xff1a; 3. pod资源中包含的容器&#xff1a; 4. pause容器的两个核心功能&#xff1a; 5. Kubernetes中使用pause容器概念的用意&#xff1a; 二、pod的分类&#xff1…

免费内网穿透?让外网能访问到自己的接口springboot,暴露自己的接口给外网

内网穿透&#xff1f;让外网能访问到自己的接口java&#xff0c;暴露自己的接口给外网 内网穿透听着就很吊&#xff0c;不就是把没有备案的服务器暴露出去&#xff0c;给别人访问嘛。 自己免费使用测试的话。 下载一个Cpolar 然后注册一下&#xff0c;进来后&#xff0c;直接…

根据店铺ID或店铺昵称或店铺链接获取阿里巴巴店铺所有商品数据接口|阿里巴巴店铺整店商品数据接口|阿里巴巴API接口

阿里巴巴店铺所有商品数据接口是阿里巴巴开放平台提供的API接口之一&#xff0c;它可以帮助开发者获取到店铺内所有商品的信息&#xff0c;包括商品的ID、标题、价格、图片、链接等。通过该接口&#xff0c;开发者可以快速地获取到大量的商品数据&#xff0c;并进行进一步的数据…