1.Excel输入

  Excel文件采用表格的形式,数据显示直观,操作方便。 与文本文件不同,Excel文件中采用工作表存储数据,一个文件有多张不同名称的工作表,分别存放相同字段或不同字段的数据。

  为方便浏览和统计学生的考试成绩,需要通过Excel输入抽取物理成绩数据。

kettle 中使用javascript 如何从表格中获取列数据 kettle读取excel_etl

1、建立Excel输入转换工程

kettle 中使用javascript 如何从表格中获取列数据 kettle读取excel_etl_02

 2、设置Excel输入组件参数

(1) 获取选中文件的工作表。

  单击【获取工作表名称…】按钮,弹出【输入列表】对话框,左边【可用项目】列表列出选中文件的所有工作表,如“物理成绩.xls”文件的“Sheet1”工作表,而右边【你的选择】列表列出被选中的工作表,如图所示

kettle 中使用javascript 如何从表格中获取列数据 kettle读取excel_数据_03


 (2)设置选中的工作表参数。

kettle 中使用javascript 如何从表格中获取列数据 kettle读取excel_数据_04

 (3)获取字段

单击【获取头部数据的字段…】按钮,添加字段到【字段】表中设置字段参数,如图所示

kettle 中使用javascript 如何从表格中获取列数据 kettle读取excel_数据_05

 3、预览结果数据

kettle 中使用javascript 如何从表格中获取列数据 kettle读取excel_系统信息_06

 2.生成记录

   在数据统计中,往往要生成固定行数和列数的记录,用于存放统计总数。

为方便1~12月份商品的销售总额,需要通过生成记录,生成一个月销售总额的数据表,包括商品名称和销售总额两个字段,记录销售的商品和当月商品统计销售总额,共生成12条记录。

1.建立【生成记录】转换工程。

  

kettle 中使用javascript 如何从表格中获取列数据 kettle读取excel_etl_07

2.设置【生成记录】组件参数

 

kettle 中使用javascript 如何从表格中获取列数据 kettle读取excel_字段_08

 

 设置字段参数。在【字段】表中,对各字段的参数进行设置,如图所示,此时完成【生成记录】组件参数的设置。

kettle 中使用javascript 如何从表格中获取列数据 kettle读取excel_系统信息_09

 3.预览结果数据

kettle 中使用javascript 如何从表格中获取列数据 kettle读取excel_系统信息_10

3.生成随机数 

  在工作中,往往需要生成随机数验证码,作为数据或文件的验证码。

  为方便给授权用户验证文件,需要通过生成随机数,生产一组MD5信息授权码,作为数据文件的认证授权码。

1.建立【生成随机数】转换工程

kettle 中使用javascript 如何从表格中获取列数据 kettle读取excel_数据_11

 2.设置【生成随机数】组件参数

 双击打开【生成随机数】如图所示。

kettle 中使用javascript 如何从表格中获取列数据 kettle读取excel_系统信息_12

 单击【类型】参数输入框,弹出【选择数据类型】对话框,选择【Random Message Authentication Code(HmacMD5)】类型,如图所示。

  

kettle 中使用javascript 如何从表格中获取列数据 kettle读取excel_字段_13

 3.预览结果数据

  单击【生成随机数】组件,然后再单击工作区上方的(眼睛)图标,展示生成随机数的数据,如下图所示。

kettle 中使用javascript 如何从表格中获取列数据 kettle读取excel_etl_14

  单击【快速启动】按钮,弹出【预览数据】对话框,展示生成随机数的授权码数据,如图所示。

kettle 中使用javascript 如何从表格中获取列数据 kettle读取excel_系统信息_15

 

4.获取系统信息

  系统信息是指Kettle系统环境的信息,包括了计算机系统的日期、星期等时间类型信息,计算机名称、IP地址等设备信息,Kettle系统转换过程中的信息等。

  为了方便读取计算机上本月最后一天的交易数据问文件,需要获取系统信息,获取当月最后一天的时间,以及当前计算机名称与IP地址等系统信息。

1.建立【获取系统信息】转换工程

kettle 中使用javascript 如何从表格中获取列数据 kettle读取excel_数据_16

 2.设置【获取系统信息】组件参数

  在【获取系统信息】对华框中,设置参数,获取当月最后一天的时间,以及当前的计算机名称与IP地址等系统信息,步骤如下:

 (1)确定组件名称。【步骤名称参数保留默认值。

 (2)设置字段参数。在【字段】表中,设置字段参数

如图所示,此时已完成【获取系统信息】组件的参数设置

kettle 中使用javascript 如何从表格中获取列数据 kettle读取excel_字段_17

 3.预览结果数据

 单击【浏览记录】按钮,弹出【Enter preview size】对话框,预览记录数采用默认值,单击【确定】按钮。弹出【预览数据】对话框,展示获取系统信息的数据,如图所示。

kettle 中使用javascript 如何从表格中获取列数据 kettle读取excel_数据_18

5.排序记录 

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

 为了得出学生的成绩排名,需要对“2019年11月月考数学成绩.xls”文件,使用【排序记录】组件,对学生的成绩从低到高排列。

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

  

kettle 中使用javascript 如何从表格中获取列数据 kettle读取excel_etl_19

    创建【Excel输入】组件,设置参数,导入“2019年11月月考数学成绩.xls”文件,预览数据,如图所示,其中“数学”字段数据处于无序状态。

  

kettle 中使用javascript 如何从表格中获取列数据 kettle读取excel_字段_20

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

(1)设置【排序记录】参数

(2) 确定组件名称

(3)确定排序记录

(4)设置排序字段参数

kettle 中使用javascript 如何从表格中获取列数据 kettle读取excel_数据_21

 3.预览结果数据

  

kettle 中使用javascript 如何从表格中获取列数据 kettle读取excel_字段_22

 6.去重重复记录

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

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

  由于在“期考成绩.xls”文件中,发现存在序号不同,但是学号、各科考试成绩完全相同的记录,所以需要使用【去除重复记录】组件,去除这些重复的数据。

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

kettle 中使用javascript 如何从表格中获取列数据 kettle读取excel_etl_23

 2.设置【去除重复记录】

    

kettle 中使用javascript 如何从表格中获取列数据 kettle读取excel_etl_24

3.预览结果数据

kettle 中使用javascript 如何从表格中获取列数据 kettle读取excel_etl_25

7.替换NULL值 

  在Kettle转换过程中,默认情况下,会将空值当做NULL值处理。如果数据类型字段出现NULL值,那么在计算时就会出现错误。

  在“2019年11月英语考试成绩.xls”文件中,学号为“201709007”同学没有参加考试,根据规定考试分数将按零分处理,需要使用【替换NULL值】组件,使用“0”替换该同学的英语成绩

kettle 中使用javascript 如何从表格中获取列数据 kettle读取excel_系统信息_26

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

 

kettle 中使用javascript 如何从表格中获取列数据 kettle读取excel_字段_27

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

kettle 中使用javascript 如何从表格中获取列数据 kettle读取excel_系统信息_28

3.预览结果数据

kettle 中使用javascript 如何从表格中获取列数据 kettle读取excel_etl_29