商业智能FineBI使用教程:[10]构建自循环列
电脑软件
名称:商业智能软件FineBI 大小:120MB|版本:V2.0|类别:应用工具|语言:中文应用平台:windows / Mac OS X / Linux1. 描述
公司部门之间都存在层级关系,每个部门都会有唯一的部门ID对应,比如说总部(ID为1),市场部(ID为11,该层级的第一位为第一层的ID值)业务员(ID为111,该层级的第一位为第一层级的值,第二位为第二层级的值),市场部是总部下面的分属部门,业务员是市场部的下属部门,数据库中存储部门信息的时候,都是将所有部门ID放在一个数据列中,并没有将总部作为一个数据列,市场部作为一个数据列,那么在进行数据分析的时候,如果要显示各个部门的层级关系,并按照层级关系分组显示数据,就没法直接添加维度来实现分组效果,如下图效果,这个该如何实现呢?
![商业智能FineBI使用教程:[10]构建自循环列](https://exp-picture.cdn.bcebos.com/732a12e265e7340f7655da9035b9763e20c2b480.jpg)
FineBI为了实现这种层级关系提供了构建自循环列功能,自循环列一般应用于上述的列内分组以及下拉框的层级选择,设置方式完全相同,以列内分组为例,下面详细介绍。
2. 示例
一般来说,拥有层级关系的ID有2种存储方式:
(1)ID长度不一致
如公司部门表中数据,ID的长度不一致,每增加一个层级,长度就会增加相应位数,并且前面的数据与上一级保持一致:
![商业智能FineBI使用教程:[10]构建自循环列](https://exp-picture.cdn.bcebos.com/cfa9ae04541bd10fd30bc329ba0e1799e82aa780.jpg)
如下图,ID的长度保持一致,长度为部门的总层级数乘以每个层级的相应位数:
![商业智能FineBI使用教程:[10]构建自循环列](https://exp-picture.cdn.bcebos.com/b666b2530688912c94e7125b1b4800fc76f79780.jpg)
以公司部门表中数据为例,为BIDemo业务包添加公司部门表。
点击公司部门,进入公司部门配置界面,单击构建自循环列,可以看到构建自循环列有两种方式:一个是根据一列数据分层,一个是根据两列数据分层,如下图:
![商业智能FineBI使用教程:[10]构建自循环列](https://exp-picture.cdn.bcebos.com/89402670d5413a8ce1256bbc1ffc508c9ace8180.jpg)
下面根据构建方式的不同分别讲解。
3. 根据一列数据分层
根据一列数据分层是指根据有层级关系的一列数据直接构建每个层级的数据列,一般在数据库中只有该部门ID列,没有上级ID列的时使用。
3.1 构建关系
在构建自循环列中选择根据一列数据分层,由于有层级关系的列为部门ID,所以分层依据的ID列选择部门ID,如下图:
![商业智能FineBI使用教程:[10]构建自循环列](https://exp-picture.cdn.bcebos.com/e40b3127e7ef28063f2c5c6eb840b6f39087f280.jpg)
注:如果分层依据的ID的长度都是一样的,即像上面所说的第二种层级关系的存储方式,那么,在构建关系时,需要输入分层长度,以上述ID长度一致的数据表为例,分层长度是2,即每2位代表一个层级,自循环构建如下图:
![商业智能FineBI使用教程:[10]构建自循环列](https://exp-picture.cdn.bcebos.com/a9338a1fbee434da92738490f271fe1d97d8e480.jpg)
注:上述的2种层级关系存储方式,FineBI会自动识别,如果是长度不一致的存储方式,不会显示分层长度选项。
3.2 新增列名称
点击构建关系,就会显示所有级别,并需要给各个级别重命名,如下图:
![商业智能FineBI使用教程:[10]构建自循环列](https://exp-picture.cdn.bcebos.com/0d2fe5f202b375d7f7567547515872dadf49d880.jpg)
点击保存,即可在数据表的配置界面看到新增的数据列:
![商业智能FineBI使用教程:[10]构建自循环列](https://exp-picture.cdn.bcebos.com/0fb94656d53da824a5c40261306651598440cb80.jpg)
点击保存,自循环列就构建好了。注:新增的自循环列是不参与分析的。
3.3 新建分析
点击BI>新建分析,新建一个即时分析,拖曳一个组件至分析页面,由于新增自循环列不参与分析,所以只能将BIDemo业务包中的公司部门表的部门名称作为横向表头,如下图:
![商业智能FineBI使用教程:[10]构建自循环列](https://exp-picture.cdn.bcebos.com/ccc83ec5260f88359da4976dce07880139708681.jpg)
横向表头会显示红色,提示其没有与值标签建立关系,这是因为部门ID作为自循环列的基础列,增加了3个数据列,导致该表中的所有字段均对应有3个数据列,如果让部门名称与部门记录数关联,必须通过新增的3个列去关联,那么可以通过3条路径进行关联,3条路径分别是新增的3个字段,即关联关系不再唯一,所以需要重新建立关联关系。
点击横向表头维度名称:部门名称指标,在部门名称指标的标签数据中设置关联字段,点击修改选中的1个指标的维度字段,选择对应维度字段,点击公司部门>部门名称,可以看到部门名称字段下面有子字段,这是因为部门ID构建自循环列,增加了3列,对应的,部门名称也增加了3列数据,这里选择以及.部门名称,如下图:
![商业智能FineBI使用教程:[10]构建自循环列](https://exp-picture.cdn.bcebos.com/2947750192dd3340e1dd5f34881c99c0aefcf181.jpg)
点击保存配置之后,一级部门名称就已经设置好了,如下图:要实现将各个部门进行分组显示,实现上图效果
![商业智能FineBI使用教程:[10]构建自循环列](https://exp-picture.cdn.bcebos.com/ff5c88d818196120cee3c2dd70f202b374d7df81.jpg)
类似于一级部门名称的设置方式,再添加2个纵向表头维度,维度字段均为部门名称,并设置数据标签,分别关联二级部门名称和三级部门名称,即可完成设置。
3.4 效果查看
如下图:
![商业智能FineBI使用教程:[10]构建自循环列](https://exp-picture.cdn.bcebos.com/db196cdade49610fff7863b7a56817e950e1d281.jpg)
4. 根据两列数据分层
根据两列数据分层是指根据有数据表中有2列数据,一个数所有层级的部门ID,还有一列数据指定对应层级的上级部门ID,在这种数据结构下,可用根据两列数据分层。
4.1 构建关系
同根据一列数据分层的设置方式类似,选中数据表,点击构建自循环列,选择根据两列数据分层,如下图:
![商业智能FineBI使用教程:[10]构建自循环列](https://exp-picture.cdn.bcebos.com/116b1ae23ea23a4226546ea33733ec3835bbc081.jpg)
点击构建关系,接下来的设置过程和使用过程同根据一列数据分层,这里不再赘述。
(共篇)上一篇:建立表间关联|下一篇: