历史版本4 :行列转换之行转列 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1、描述编辑

行列转换是指将关系数据表中的行转换成列或者列换换成行,简单来说就是讲转换前数据表中某个字段的所有值取出来,配以某个指标字段,成为新表的列名。很多时候用户也会从不规范的数据源中提取数据到FineBI中,比如将Excel文件导入。而Excel文件的字段和展示样式并不固定,往往会与规范化的数据库表数据不能很好的兼容合并,导入Excel后就有可能用到行列转换,将很多行展示数据转化为规范的列字段进行分析。

2、行转列示例编辑

如下图所示的学生成绩表保存了学生成绩,每个学生都有多门课程的成绩:英语、化学、数学等,如果保存在FineBI业务包中每人将占据多条记录,即每人分学科分别存储。

222

而将不同学科的值作为字段名,保存的学生信息表每个学生只会有一条记录,实现的是如下图的效果。

222

2.1 导入源数据

参考添加数据表将源数据添加到FineBI的业务包中,添加后在数据准备>业务包中可以看到该表的信息。

222

注:在添加完成表以后需要进行数据更新操作,在更新完成后才能进行后续行列转化处理。若选择开启实时数据,则不需要进行更新操作。

2.2 行列转化

选择数据表设置中的编辑按钮,对该表进行编辑处理。

222

进入数据表编辑界面,进行字段设置,默认选择全部字段。在左侧字段处理操作流程处点击+,选择行列转换

222

进入行列转换设置界面,需要进行栏次名、原始指标字段和识别生成指标所在列的根据字段的选择。

222

根据字段识别生成的指标所在列:是指数据表中根据需要转化的字段值重复的字段,在之前的学生成绩表中,姓名就根据“需要被转化字段-科目”重复出现(即因为有多个科目的成绩导致每个人重复出现),那么该下拉框中的字段可以选择姓名,该选项可以选择最终显示时需要唯一值的字段;

栏次名:是指需要被转化的行字段名称,在本示例中,是指科目字段;

原始指标字段:原始数据表中包含的字段都会出现,在本示例中,需要选择成绩字段;

生成的指标字段:是指被转化字段所对应的值字段,在本示例中,是指每个科目的成绩字段值;

设置完成后,效果如下图所示:

222

点击确定保存该行列转换设置。进入更新信息进行单表更新。

222

数据更新成功后,在数据预览处,可以看到转化成功的列字段:学科-成绩。

222

如上图,每个学生都变成一条数据记录成绩了,而不同科目都变为新的字段来保存成绩,完成达到我们的需求了。