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


目录:

1. 概述编辑

1.1 版本

FineBI 版本
5.1

1.2 预期效果

很多时候用户也会从不规范的数据源中提取数据到 FineBI 中,往往会与规范化的数据库表数据不能很好的兼容合并,导入 Excel 后就有可能用到行列转换,将很多行展示数据转化为规范的列字段进行分析。行列转换成功后,效果如下图所示:

2020-07-07_14-30-05.png

1.3 实现思路

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

2020-07-07_15-40-39.png

2. 通过将关系数据表中的行转换成列或者列换换成行,简单来说就是将转换前数据表中某个字段的所有值取出来,配以某个指标字段,成为新表的列名实现行列转换。例如,将学生成绩表中科目字段值取出,配以成绩指标,成为新表列名(学科-成绩)。

数据下载:学生成绩.xls

2. 行转列示例编辑

2.1 导入源数据

参考 添加数据表 将源数据表学生成绩表添加到 FineBI 的业务包中,添加并更新后在数据准备>业务包中可以看到该表的信息。如下图所示:2020-07-07_14-12-13.png注:在添加完成表以后需要进行数据更新操作,在更新完成后才能进行后续行列转化处理。

2.2 行列转换

1)选择数据表设置中的编辑按钮,对该表进行编辑处理。如下图所示:

2020-07-07_14-19-15.png

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

2020-07-07_14-20-37.png

3)进入行列转换设置界面,需要进行栏次名原始指标字段和识别生成指标所在列的序列号根据字段的选择。如下图所示:

2020-07-07_14-22-11.png

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

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

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

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

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

2020-07-07_14-23-53.png

注:在选择栏次名下选择字段后默认勾选该字段下全部值,若选择的栏次名字段下 数据更新 有新增的字段值,新增字段值默认不勾选。如有需要,可再次进入编辑界面手动重新勾选。

5)点击保存该行列转换设置。进入更新信息进行单表更新。如下图所示:

2020-07-07_14-27-50.png

4. 注意事项编辑

1.行列转换的列转行操作请参考 行列转换之列转行 。

2.行列转换功能的使用对象:sql\DB \excle数据集