历史版本17 :自循环列(根据两列分层级) 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1、描述编辑

通常公司的部门之间都存在层级关系,比如银行机构的总行、支行、分行等。在银行内部为了标识这些不同机构,通常会有唯一的部门ID,比如总部ID为1,支行的ID为10,分行为110等等类似这种。在数据库中保存的机构表往往直接保存机构号、机构名称等,不会形成一个树状的层级结构,这样在使用数据分析的时候非常不方便。因此FineBI提供了自循环列功能,将组织代码表转化成树状结构用于分析,它包含两种方式:根据一列数据分层和根据两列数据分层。

根据一列数据分层应用于组织代码表中的机构代码只有一列的时候,比如下图这种机构表,总部(ID为1),董事会(ID为10,该层级的第一位为第一层的ID值),财务部(ID为11,该层级的第一位为第一层的ID值),部门的职位-财务1(ID为110,该层级的第一位为第一层级的值,第二位为第二层级的值),财务部,市场部等是总部下面的分属部门,财务1这些职位是财务部的下属部门。数据库中存储部门信息的时候,都是将所有部门ID放在一个数据列中,并没有将总部作为一个数据列,财务部作为一个数据列。

222

根据两列数据分层应用于组织代码表中的机构代码有两列,分别为当前机构号和直接上级机构号,比如下面的银行机构表,某银行镇江丹徒新区支行的机构代码是7018,它的直接上级机构代码是0711,0711代表某银行镇江环城支行。

222

若将上面介绍的表直接保存在业务包中使用分析的话,在仪表板拖拽机构名称字段出来的时候将是所有机构,但很多时候我们需要对不同层级的机构使用不同的维度分析,这样的数据很显然是不符合要求的。我们需要的是分别对应不同层级总行、支行、分行的机构名称列,比如下面的:

222

下面我们就详细介绍下如何使用自循环列将上图的组织代码表转化成树状结构。

2、根据一列数据分层编辑

下面我们以之前介绍的公司部门机构表为例来介绍如何转换成树状结构。

2.1 字段设置

添加公司机构表到业务包中(数据下载链接:department.xls),单击该表右侧的齿轮按钮,选择编辑。如下图:

222

进入数据表编辑界面,此处需要将ID字段的类型切换为文本,因为后续在设置依据ID列时仅能获取文本字段。如下图:

222

2.2 自循环列

在左侧的字段处理操作流程中点击+,选择自循环列

222

进入自循环列设置界面,默认自循环列类型为根据一列数据分层,需要选择自循环列的设置条件,包括显示值、分层依据ID列。如下图:

222

因为我们的机构表有只有一列ID号,因此我们选择默认的根据一列数据分层。显示值为最终分层显示的名称,该机构表中最终分层显示的为机构名称,即name字段;分层依据ID列为机构代码中的机构号,即ID字段。如下图:

222

条件设置好后,点击右侧的构建关系,可以看到根据我们的分层设置构建出了三个层级,如下图,分别是位数为1、2、3的层级。

222

2.3 效果查看

点击保存按钮,则在数据预览处可以看到新生成的数据表,新生成的三个层级分别为name-层级1、name-层级2、name-层级3,我们分别将其重命名为总部、部门、部门职位,如下图:

222

数据编辑完成后,进行单表更新或者开启实时数据后,即可在新建组件中使用该数据。如下图:

222

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

上面我们已经介绍过,根据两列数据分层应用于数据表中有两列机构代码数据,下面我们就之前的银行机构表演示如何应用自循环列。

3.1 字段设置

在数据表添加完成后,点击数据准备>业务包,进入业务包配置页面。可以看到已经添加到业务包中的表,此处我们选择银行结构表,单击表右侧的齿轮按钮,选择编辑

注:已添加的表需设置实时数据/表更新以后才能进行自循环列操作。

222

3.2 自循环列

进入数据表编辑界面,在左侧的字段处理操作流程中点击+,选择自循环列

注:此处的JGID与PARENT_ID需为文本字段类型,若不是,可在字段设置处修改字段类型。  

222

进入自循环列设置界面,需要选择自循环列的设置条件,包括自循环列类型、显示值、分层依据ID列,Parent ID列。

222

因为我们的机构表有两列机构ID号,因此此处我们选择根据两列数据分层;显示值为最终分层显示的名称,机构表中最终分层需要显示的是机构名称;分层依据ID列为机构代码两列中的当前机构号;Parent ID列为机构代码两列中的直接上级机构号;此处我们分别选择JGIDPARENT_ID

222

自循环条件设置完成后,点击右侧的构建关系按钮,可以看到根据我们的分层设置构建出了五个层级,如下图:

222

3.3 效果查看

点击右上角的保存按钮,FineBI自动进行表更新操作,在业务包中可以看到新生成的数据表,单击重命名可修改自循环列层级字段名称。

222

更新信息中单表更新以后就可以在创建自助数据集、新建仪表板中使用自循环列生成的层级字段,如下图:

222