主流BI工具FineBI中的行列转换特指将关系数据表中的行转换为列,简单来说就是将转化前数据表中某个字段的所有值取出来,配以某个指标字段,成为新表的列名。
工具/原料
主流BI工具FineBI
方法/步骤
1、1.示例如下图所示的数据表stscore,每个学生都有5门课程的成绩,存储在主流BI工具FineBI的数据库中占据5条记录:
2、2那么如何使每位学生的成绩只占据一条记录呢,也就是说,将不同学科的值作为字段名,实现如下图效果:
3、3源数倌栗受绽据表主流BI工具FineBI的ETL转换表需要基于一个原始表,我们以上图的stscore表为例,该数据表存在于另外一个剞麽苍足数据库中,不存在于BIdemo业务包中,故,首先我们需要新建一个数据连接,用来获取该张源数据表,点击数据配置>数据连接管理,在主流BI工具FineBI中新建一个数据连接mysql,配置如下图:
4、4新建转斟闽擞呦化表点击主流BI工具FineBI的业务包管理,选中BIdemo业务包,在主流BI工具FineBI的业棣蚺幌盗务包管理界面点击+ETL表按钮,页面跳转到ETL处理界面,点击右上角的添加表按钮,在数据表选择页面中选中mysql数据连接,选中该数据连接下的stscore表,如下图:
5、5点击下一步,即可进入主流BI工具FineBI的数据表设置和ETL处理界面,如下图:
6、6ETL行列转化被转化的表添加完成之后,点击右侧ETL处理中间的表名称按钮,进入主流BI工具FineBI的行列转化配置界面,如下图:
7、7根据字段识别忭孚鲟苎生成的指标所在列:是指数据表中根据需要转化的字段值重复的字段,如上示例,name和studentno就根据需要被转化字段course的值重复出现芟坳葩津,那么该下拉框中的字段可以选择name或者studentno;栏次名:是指需要被转化的行字段名称,如上示例,是指course字段;原始指标字段:是指被转化字段所对应的值字段,如上示例,是指grade字段。设置完成后,效果如下图:点击保存直到回到主流BI工具FineBI的表设置页面。注:如果要更改ETL转化表的结构设置,点击右侧ETL处理中的行列转化即可。
8、8点击保存,回到主流BI工具FineBI的业务包配置界面,可以看到业务包中多了一个stscore_concert的数据表,如下图:
9、9效果查看在主流BI工具FineBI中新建一个明细表的数据分析,其数据来源于业务包BIdemo下面的stscore-convert表里面的所有字段,如下图:
10、10字段添加完成之后,可以看到如下图明细表,每个学生只有一条记录,所有学科都转化为字段名,与上图效果一致: