构建自循环列

编辑
文档创建者:夏娃 (超级管理员 )     浏览次数:1715次     编辑次数:7次     最近更新:doreen0813 于 2017-11-17     

目录:

1、描述编辑

构建自循环列是将组织代码表形成树形结构用于分析,主要分为两大类,可以分为根据一列数据分层两列数据分层这两种,本文都会做详细介绍。
公司部门之间都存在层级关系,每个部门都会有唯一的部门ID对应,比如说总部(ID为1),董事会(ID为10,该层级的第一位为第一层的ID值),财务部(ID为11,该层级的第一位为第一层的ID值),部门的职位-财务1(ID为110,该层级的第一位为第一层级的值,第二位为第二层级的值),财务部,市场部等是总部下面的分属部门,财务1这些职位是财务部的下属部门,数据库中存储部门信息的时候,都是将所有部门ID放在一个数据列中,并没有将总部作为一个数据列,财务部作为一个数据列,那么在进行数据分析的时候,如果要显示各个部门的层级关系,并按照层级关系分组显示数据,就没法直接添加维度来实现分组效果,如下图效果,这个该如何实现呢?

222
FineBI为了实现这种层级关系提供了构建自循环列功能,自循环列一般应用于上述的列内分组以及下拉框的层级选择,设置方式完全相同,以列内分组为例,下面详细介绍。

2、示例编辑

一般来说,拥有层级关系的ID有2种存储方式:
2.1 ID长度不一致
如公司部门表中数据,ID的长度不一致,每增加一个层级,长度就会增加相应位数,并且前面的数据与上一级保持一致:

222
2.2 ID长度一致
如下图,ID的长度保持一致,长度为部门的总层级数乘以每个层级的相应位数:
222
以部门表中数据为例,为BIDemo业务包添加部门表,数据表的添加方式请查看数据表管理
点击部门,进入部门配置界面,点击右边ETL处理中间的表名字按钮,选择构建自循环列,如下图:

222
页面跳转到自循环列管理界面,如下图,点击自循环列设置后面的下拉项,可以看到构建自循环列有两种方式:一个是根据一列数据分层,一个是根据两列数据分层:

222
下面根据构建方式的不同分别讲解。

3、一列数据分层编辑

根据一列数据分层是指根据有层级关系的一列数据直接构建每个层级的数据列,一般在数据库中只有该部门ID列,没有上级ID列的时使用。
3.1 构建关系
构建自循环列中选择根据一列数据分层,由于有层级关系的列为部门ID,所以分层依据的ID列选择ID,如下图:
222
进入自循环列管理后,设置根据一列数据分层;设置显示值,所谓显示值是指前方展示显示为树结构的字段(只有文本字段可选)。分层依据字段为ID,并设置分层长度为1。所谓分层长度即是每一层的长度差值。

222
注:上述的2种层级关系存储方式,FineBI会自动识别,如果是长度不一致的存储方式,不会显示分层长度选项。
3.2 新增列名称
点击构建关系,就会显示所有级别,并需要给各个级别重命名,如下图:
222
点击保存,即可在数据表的配置界面看到新增的数据列:
222
点击保存,自循环列就构建好了。
3.3 新建分析
点击新建分析,新建一个即时分析,拖曳表格组件至分析页面,进入数据配置界面,在左侧的数据选择面板中选中BIDemo业务包,点开部门字段,可以看到其下面有三个子字段,这是在该数据表是自循环列表,根据部门ID字段和上级ID进行了自循环列设置,多出了三列数据,故,部门名称也对应的多了三个字段:
将部门表的部门名称作为行表头,记录数作为数值区域的指标,从上图可以看到部门名称字段也被自循环为三列数据,直接将这三个级别的部门名称拖曳至行表头中即可:
222
3.4 效果查看
如下图:
222

4、根据两列数据分层编辑

根据两列数据分层是指根据有数据表中有2列数据,一个数所有层级的部门ID,还有一列数据指定对应层级的上级部门ID,在这种数据结构下,可用根据两列数据分层。案例数据如下:
222
4.1 构建关系
根据一列数据分层的设置方式类似,选中数据表,点击构建自循环列,选择根据两列数据分层,如下图:
222
点击构建关系,接下来的设置过程和使用过程同根据一列数据分层,这里不再赘述。

附件列表


主题: 数据配置
标签: 暂无标签 编辑/添加标签
如果您认为本文档还有待完善,请编辑

文档内容仅供参考,如果你需要获取更多帮助,请咨询帆软技术支持
关于技术问题,您还可以通过帆软论坛获取帮助,论坛上有非常多的大神,有些水平比帆软工程师还要高哦。
若您还有其他非技术类问题,可以联系帆软传说哥(微信ID:frbiaoge)

本文档是否有用?
谢谢! 我们非常感谢您的反馈。
提交反馈: