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

目录:

1. 概述编辑

1.1 预期效果

通常公司的部门之间都存在层级关系,比如银行机构的总行、支行、分行等。在银行内部为了标识这些不同机构,通常会有唯一的部门 ID ,比如总部 ID 为 1 ,支行的 ID 为 10 ,分行为 110 ,因此希望数据表能形成一个树状的层级结构。

1.1.1 根据一列数据分层

根据一列数据分层应用于组织代码表中的机构代码只有一列。例如:

组织名称
组织代码
总部ID 为1
董事会ID 为 10 ,该层级的第一位为第一层的 ID 值
财务部ID 为11,该层级的第一位为第一层的 ID 值
部门的职位-财务 1ID 为 110 ,该层级的第一位为第一层级的值,第二位为第二层级的值
财务部、市场部等是总部下面的分属部门,财务 1 这些职位是财务部的下属部门。

数据库中存储部门信息的时候,需要将总部作为一个数据列,财务部作为一个数据列。如下图所示:

1594106199690166.png

1.1.2 根据两列数据分层

根据两列数据分层应用于组织代码表中的机构代码有两列,且分别为当前机构号和直接上级机构号。

例如银行机构表,某银行镇江丹徒新区支行的机构代码是 7018,它的直接上级机构代码是 0711,0711 代表某银行镇江环城支行,如下图所示:

1594103035799142.png

若将上表直接保存在业务包中使用分析,在仪表板拖拽机构名称字段出来的时候将是所有机构,但很多时候需要对不同层级的机构使用不同的维度分析。因此需要分别对应不同层级总行、支行、分行的机构名称列,如下图所示:

3322.png

1.2 解决思路

FineBI 提供了自循环列功能,将组织代码表转化成树状结构用于分析,它包含两种方式:根据一列数据分层和根据两列数据分层。

根据一列数据分层数据下载:department.xls

根据两列数据分层数据:银行金融业务包下的银行_机构维度表

1.3 使用范围

只有 基础表 有自循环列功能,自助数据集无该功能。

2. 操作步骤编辑

2.1 根据一列数据分层

2.1.1 字段设置

1)点击数据准备,选择业务包,点击添加表>添加 EXCEL 数据集,如下图所示:

22.png

注:在添加字段的时候,不要出现原始字段既有 A 又有 A-B 的形式。

2)上传公司机构表,将 ID 字段的类型切换为文本,因为后续在设置依据 ID 列时仅能获取文本字段,修改表名为公司机构表,点击确定,如下图所示:

95.png

3)选择公司机构表,点击...,选择编辑,如下图所示:

21.png

2.1.2 自循环列

1)在左侧的字段处理操作流程中点击+,选择自循环列。如下图所示:

1582015067652880.png

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

qqqq.png

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

1581664035223881.png

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

1581664095780731.png

2.1.3 效果查看

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

1594104692675112.png

2)至此就可以在创建自助数据集、新建仪表板中使用自循环列生成的层级字段,效果参见本文 1.1.1节。

注:若实际使用的数据为数据库抽取数据,则需要更新后使用。

2.2 根据两列数据分层

2.2.1 字段设置

1)点击数据准备>银行金融,进入业务包配置页面。可以看到已经添加到业务包中的表,此处选择银行_机构维度表,单击表右侧的...按钮,选择编辑。如下图所示:

注:已添加的表需表更新以后才能进行自循环列操作。

111.png

2.2.2 自循环列

1)进入数据表编辑界面,在左侧的字段处理操作流程中点击+,选择自循环列。如下图所示:

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

1594105306987956.png

2)进入自循环列设置界面,需要选择自循环列的设置条件,包括自循环列类型、显示值、分层依据 ID 列,Parent ID 列,机构表有两列机构 ID 号,此处选择根据两列数据分层;显示值为最终分层显示的名称,机构表中最终分层需要显示的是机构名称;分层依据 ID 列为机构代码两列中的当前机构号;Parent ID 列为机构代码两列中的直接上级机构号;此处分别选择 JGIDPARENT_ID 。如下图所示:

1581665456465460.png

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

1581665548550355.png

2.2.3 效果查看

更新信息中进行数据更新以后就可以在创建自助数据集、新建仪表板中使用自循环列生成的层级字段,效果参见本文 1.1.2 节。