目录
一.简单介绍
不同的企业,有着不同的业务规则和数据指标,这些指标应该计算完存储到数据仓库中,供企业决策者进行分析,从而得出战略性的企业决策。例如,A公司和B公司的总公司想要得知各省份的手机日销售额,这就属于一个商务规则。
案例:通过Kettle工具对数据表company_new中的数据进行商务规则的计算,即对数据表company_new中的数据进行相关处理和计算,从而得出手机在各省份的日销售额,并存储于数据表regional_sales中。
company_new部分数据:
建立regionan_sales表:
create table `regional_sales` (
`salesArea` varchar (150),
`total` int (30)
);
二.建立转换并添加控件
使用Kettle工具,创建一个转换total,并添加表输入控件、字段选择控件、计算器控件、排序记录控件、分组控件、唯一行控件、表输出控件以及Hop跳连接线,具体如图所示。
三.配置控件
1.表输入控件
在配置此控件前应连接好数据库,在后面的操作中也会用到,提前连接可减少不必要的麻烦!!!
双击进入表输入控件,在SQL框中编写查询数据表company_new中全部数据的SQL语句,然后单击【预览】按钮,查看数据表company_new中数据是否成功从MySQL数据库中抽取到表输入流中,具体如图所示。
预览数据:
2.字段选择控件
双击“字段选择”控件,进入“选择/改名值”界面,并在“选择和修改”选项卡的“字段”处手动添加所需字段,这里添加字段id、salesArea、unitPrice和number,用于后续的计算处理,如图所示。
选择“元数据”选项卡,切换到“元数据”选项卡界面,并添加需要改变元数据的字段,由于数据表company_new中字段unitPrice的数据类型为varchar(字符),字段number的类型为int,这字段类型不同的数据无法进行计算,因此需要将字段unitPrice的类型改为Integer,从而进行后续的计算操作,“元数据”选项卡的配置具体如图所示。
3. 计算器控件
双击“计算器”控件,进入“计算器”界面,在“字段”处,添加一个新字段salesAmount,用于存储计算出的手机日销售额;在“字段A”和“字段B”处的下拉选项中分别选择“unitPrice”(销售价格)和“number”(销售数量)字段;在“计算”处的下拉框中选择“A*B”,即表示将字段A与字段B进行相乘计算,具体如图所示。
4.排序记录控件
双击“排序记录”控件,进入“排序记录”界面,并在“字段”框中添加字段salesArea,以该字段为基础对所有数据进行升序排序,具体如图所示。
5.分组控件
双击“分组”控件,进入“分组”界面,并在“构成分组的字段”处的添加分组字段salesArea,将字段salesArea相同的数据分为一组,便于进行“聚合”操作;在“聚合”处添加一个新字段total,用于存储各省份的手机销售总额,具体如图所示。
6.字段选择2控件
双击“字段选择2”控件,进入“选择/改名值”界面,并在“选择和修改”处选择需要的字段,这里选择的是字段salesArea和total,用于后续在“表输出”控件中进行输出操作,具体如图所示。
7.唯一行控件
双击“唯一行”控件,进入“唯一行”界面,并在“用来比较的字段”处添加要去重的字段,因为“字段选择2”控件流中字段total的数据有重复,所以需要进行去重操作,因此这里选择去重的字段为total,具体如图所示。
8.表输出控件
双击进入控件,单击目标表右侧的【浏览】按钮,指定输出目标表,即数据表regional_sales(该表需提前创建,这里不作演示);勾选“指定数据库字段”复选框,用于将数据表regional_sales的字段与唯一行控件输出流中的字段进行匹配;单击“数据库字段”选项卡,具体如图所示。
单击【输入字段映射】按钮,弹出“映射匹配”对话框,依次选中“源字段”选项框的字段和“目标字段”选项框对应的字段,再单击【Add】按钮,将一对映射字段添加至“映射”选项框中,若“源字段”选项框的字段和“目标字段”选项框的字段相同,则可以单击【猜一猜】按钮,让Kettle自动实现映射,用于将数据表company_new中的字段salesArea、total与目标数据表中的字段salesArea、total进行匹配,具体如图所示。
配置后结果:
9.配置结束
四.保存运行
kettle运行结果:
regionan_sales表中结果: