1. 描述

ETL转换是指对分布的、异构数据源中的数据,比如说关系数据等底层数据进行一定的转换,然后将转换后的数据库保存在中间层中,成为数据分析的基础。
FineBI商业智能分析中的ETL转换特指将关系数据表中的行转换为列,简单来说就是将转化前数据表中某个字段的所有值取出来,配以某个指标字段,成为新表的列名。

2. 示例

如下图所示的数据表stscore,每个学生都有5门课程的成绩,存储在数据库中占据5条记录:

商业智能分析ETL功能

那么如何使每位学生的成绩只占据一条记录呢,也就是说,将不同学科的值作为字段名,实现如下图效果:
商业智能分析ETL转换后效果

2.1 新建转化表

管理员登录FineBI商业智能系统,进入管理系统>BI数据源配置>ETL数据转化界面,在ETL转化表结构面板中点击新建转化表按钮,页面跳转到数据表添加界面,选择mysql数据连接,选中该数据连接下的stscore表,如下图:
商业智能分析ETL新建转换表
注:如果数据表过多,可在快速搜索栏中进行搜索。

2.2 ETL转化表结构设置

被转化的表添加完成之后,页面会自动弹出ETL转化表结构对话框,如下图:
商业智能分析ETL转换表结构
根据字段识别生成的指标所在列:是指数据表中根据需要转化的字段值重复的字段,如上示例,name和studentno就根据需要被转化字段course的值重复出现,那么该下拉框中的字段可以选择name或者studentno;
栏次名:是指需要被转化的行字段名称,如上示例,是指course字段;
原始指标字段:是指被转化字段所对应的值字段,如上示例,是指grade字段。
设置完成后,点击完成直到回到ETL数据转化页面。
注:如果要更改FineBI商业智能ETL转化表的结构设置,进入到ETL数据转化界面,点击转化表表名后面的设置按钮即可。

2.3 新增业务包

ETL转化表创建好之后,需要将该表添加到商业智能分析的业务包中才可以使用,在业务包管理界面点击添加按钮,新增一个业务包,在数据表添加界面上选择__FR_BI_ETL__标签,将stscore-转数据表添加进来,业务包名称为ETL。
注:所有ETL转化表全部都在__FR_BI_ETL__标签中。

2.4 业务包权限分配

点击BI数据配置>权限配置管理,选中ETL业务包,将其使用权限分配给商业智能系统管理组助理。

2.5 效果查看

登出FineBI商业智能系统,使用管理组助理Anna的账号登录商业智能系统,新建一个明细表的数据分析,其数据来源于业务包ETL下面的stscore-转表里面的所有字段,字段添加完成之后,可以看到如下图明细表,每个学生只有一条记录,所有学科都转化为字段名,与文章开头给出的效果一致。