任务描述
在数据处理时,往往要对数据所述类别、区域和时间等进行限制,将限制范围外的数据过滤掉。
为了统计2班的考试人数和成绩,需要对“2019年10月年级月考数学成绩.xls”文件,使用【过滤记录】组件,过滤掉不是2班的数据。
实现思路
- 建立【过滤记录】转换工程。
- 设置【过滤记录】组件参数。
- 预览结果数据。
操作过程
1)建立过滤记录转换工程
使用Ctrl+N快捷键,创建【过滤记录】转换工程。接着创建【Excel输入】组件,设置参数,导入“2019年10月年级月考数学成绩.xls”文件,预览数据,如图所示,文件包括有1班、2班的数据。
在【过滤记录】转换工程中,单击【核心对象】选项卡,展开【流程】对象,选中【过滤记录】组件,并拖拽至右边工作区中。由【Excel输入】组件指向【过滤记录】组件,建立节点连接,如图所示:
2)设置参数
双击【过滤记录】组件,弹出【过滤记录】对话框,如图所示:
【过滤记录】组件的参数包含组件的基础参数和【条件】表达式参数,有关参数的说明如表所示。
参数名称
|
说明
|
基础参数
|
步骤名称
|
表示【过滤记录】组件名称,在单个转换工程中,名称必须唯一,默认值为【过滤记录】组件名称。 |
发送true数据给步骤
|
表示当条件为true时,记录被发送到此组件(步骤)。此参数也可以在与下一个组件(步骤)进行节点连接是设置,默认值为空。 |
发送false数据给步骤
|
表示当条件为false时,记录被发送到此组件(步骤)。此参数也可以在与下一个组件(步骤)进行节点连接是设置,默认值为空。 |
条件
|
表示过滤条件的表达式,在【条件】表达式输入框中设置表达式中各个参数默认值为空。 |
条件表达式是由条件函数(运算符)构成的一个赋值语句,格式为:<字段><条件函数><表达式>,格式的中间为比较函数,左边为字段,右边是值表达式,如a=5、a>(b+2)、a<=10等。为了方便读者理解,在【条件】表达式输入框中,增加了条件表达式设置的指向说明,如图所示:
1)增加子条件
单击+图表可以增加子条件,这时在【条件】表达式输入框中,显示出增加的条件表达式,初次生成的是一条“null=[ ]”的空表达式,如图所示:
单击“null=[ ]”空表达式,可对该表达式进行设置,如图所示,点击“向上”按钮可以向上切换回条件表达式。
右键单击子条件表达式,弹出右键快捷菜单,可以对子条件进行编辑、删除、复制、粘贴、移动位置等操作,如图所示:
2)选择输入流的字段
单击“选择输入流字段”指向的【<field>】字段输入框,弹出【字段】对话框,列出输入流字段表,选择需要过滤的字段,选中“班级”字段,如图所示,单击下方【确定】按钮,确定输入流字段。
3)选择比较函数
单击“比较函数”指向的【=】函数输入框,弹出【函数】对话框,并列出过滤比较函数,有关过滤比较函数的说明如表所示(部分):
函数名称
|
说明
|
REGEXP
|
表示正则表达式,判断表达式字段是否与模式匹配。 |
IN NULL
|
表示为空,判断表达式字段是否为空。 |
IS NOT NULL
|
表示不为空,判断表达式字段是否不为空。 |
IN LIST
|
表示在列表中,判断表达式字段是否在指定的list列表中。 |
CONTAINS
|
表示包含,判断表达式字段是否包含右边的值。 |
STARTS WITH
|
表示以什么开始,判断表达式字段是否以右边的值开始。 |
ENDS WITH
|
表示以什么结束,判断表达式字段是否以右边的值结束。 |
LIKE
|
表示包括,判断表达式字段是否包括右边的值。 |
TRUE
|
表示真,判断表达式字段是否为真。 |
选择“=”的过滤比较函数,单击【确定】,确认过滤比较函数。
4)输入比较的值
单击“输入要比较的值”指向的【<vallue>】值输入框,弹出【E输入一个值】对话框,输入比较的值。
*有关【E输入一个值】对话框中的参数的说明如表所示。需要注意,若设置“输入要比较的值”指向的【<value>】值参数,则不能设置“选择要比较的字段”指向的【<field>】字段参数,二者只能选其一。
参数名称
|
说明
|
类型
|
表示值的类型。类型选项有:BigNumber、Binary、Boolean、Date、Integer、Internet、Address、Number、String、Timestamp。默认值为String。
|
值
|
表示值,可以是具体值或表达式,默认值为1.
|
转换格式
|
表示值的转换格式,默认值为空。
|
长度
|
表示值的长度,默认值为-1。
|
精度
|
表示值的精度,默认值为-1。
|
5)选择比较字段
单击“选择要比较的字段”指向的【<field>】字段输入框,弹出类似的【字段】对话框,选中要比较的字段,单击确定按钮,确定要比较的字段。同样,若设置了“选择要比较的字段”指向的【<field>】字段参数,则不能设置“输入要比较的值”指向的【<value>】值参数,二者只能选其一。
6)条件取反
鼠标移向“条件取反”指向的输入框,显示出黑底红字的“NOT”,单击该输入框并移开鼠标,此时显示白底黑字的“NOT”,表示条件取反,即若表达式为true,则条件为false。
若表达式为false,则条件true。“条件取反”指向的输入框为一个奇偶输入框,单击取反,再次单击则取正。
在导入的“2019年10月年级月考数学成绩.xls”文件中,过滤掉不是2班的数据,对条件表达式按照下表的设置。
输入流【<filed>】字段
|
【=】比较函数
|
【<Value>】输入一个值
|
班级
|
=
|
单击【<field>】输入框,弹出【E输入一个值】对话框,对参数进行设置,如下图所示。 |
此时完成【过滤记录】组件参数的设置,如图所示:
3)预览结果数据
在【过滤记录】转换工程中,单击【过滤记录】组件,预览过滤记录后的数据,如图所示: