任务描述
在Kettle转换过程中,默认情况下,会将控制当做NULL值处理。如果数据类型字段出现NULL值,那么在计算时就会出现错误。
在“2019年11月月考英语成绩.xls”文件中,学号为“201709007”的同学没有参加考试,根据规定高考时分数将按零分处理,需要使用【替换NULL值】组件,使用“0”替换该同学的英语考试分数。
实现思路
1)建立【替换NULL值】转换工程。
2)设置【替换NULL】组件参数
3)预览结果数据。
操作过程
1)建立替换NULL值转换工程
使用Ctrl+N快捷键,创建【替换NULL值】转换工程。接着创建【Excel输入】组件,设置参数,导入“2019年11月月考英语成绩.xls”文件,预览数据,“学号”字段数据为“201709007”所对应的“英语”字段数据为“<null>”即(NULL),如图所示:
在【替换NULL值】转换工程中,单击【核心对象】选项卡,展开【应用】对象,选中【替换NULL值】组件,并拖拽至右边工作区中。由【Excel输入】组件指向【替换NULL值】组件,建立节点连接,如图所示:
2)设置参数
双击【替换NULL值】组件,弹出【替换NULL值】对话框,如图所示:
【替换NULL值】组件的参数包含了组件的基础参数和【替换所有字段的null值】【选择字段】【选择值类型】3种方式设置的参数,每种方式有多个不同的参数,有关参数的说明如表所示。
基础参数名称
|
说明
|
作业名称
|
表示【替换NULL值】组件名称,在单个转换工程中,名称必须唯一,默认值是【替换NULL值】组件名称。 |
选择字段
|
表示对所有记录的、指定字段的NULL值进行值替换的方式。默认值为空。 |
选择值类型
|
表示对所有记录、指定的数据类型的NULL值进行替换的方式。默认值为空。 |
下图这3种方式只能三选一,默认是【替换所有字段的null值】方式,勾选【选择字段】参数后,通过【字段】表设置具体参数;勾选【选择值类型】参数后,通过【值类型】表设置具体参数。
参数名称
|
说明
|
替换所有字段的NULL值
|
表示对所有记录、所有字段的NULL值进行替换方式,默认的替换方式。具体如下:
1)值替换为:表示用来替换NULL的值,默认值为空。
2)设置空字符串:表示是否设置空字符串,默认值为空。
3)掩码(日期):表示日期字段的掩码格式,默认值为空。
|
字段
|
表示勾选【选择字段】参数后,使用【字段】表设置参数,具体如下:
1)字段:表示输入流的字段名称,单击下拉框选择设置。
2)值替换为:表示要替换NULL的值。
3)转换掩码(日期):表示日期字段的掩码格式,默认值为空。
4)设置空字符串:表示是否设置空字符串,选项有:是、否,默认值为空。
|
值类型
|
表示勾选【选择值类型】参数后,使用【值类型】表设置参数,具体如下:
1)字段:表示输入流的字段名称,单击下拉框选择设置。
2)值替换为:表示要替换NULL的值。
3)转换掩码(日期)
:表示日期字段的掩码格式,默认值为空。
4)设置空字符串:表示是否设置空字符串,选项有:是、否,默认值为空。
|
在【替换NULL值】对话框中,设置参数,用“0”替换“英语”字段的数据“null”,步骤如下:
1)确定组件名称。【步骤名称】参数保留默认值“替换NULL值”。
2)选择【选择字段】方式设置字段参数。【选择字段】设置为“√”,并在【字段】表中,对字段的参数进行设置。此时完成【替换NULL值】组件参数的设置,如图所示。
3)预览结果数据
在【替换NULL值】转换工程中,单击【替换NULL值】组件,预览替换NULL值后的数据,如图所示: