1. 描述

我们在介绍时间类控件的时候,介绍了时间区间控件,时间区间控件是对一定时间段内的数据进行过滤,但是直接为时间控件绑定字段进行过滤,只能过滤一个时间区间,但是如果在一个即时分析中需要使用到两个时间内的数据参与分析,而一个时间区间控件只能过滤一个时间段数据,也不能使用两个时间区间控件,因为过滤的时间字段是同一个,那么此时怎么来实现一个时间区间控件过滤多个时间段的数据呢?
比如说,某公司想要计算5月份的离职率,该公司离职率计算公式为:当月离职人数/月底总人数*100%,由此公式可以看出,我们需要计算当月离职人数,包含了一个区间段:5月份,还要计算月底总人数,包含了第二个区间:月底。

2. 实现思路

商业智能分析主体界面中添加一个时间区间控件,不为其绑定数据字段,然后再添加数据分析组件,为组件绑定数据字段,再为字段添加过滤条件,将前面的时间区间控件作为参数(时间区间控件有2个参数:开始时间和结束时间),获取到当月离职人数和月底总人数之后,再添加计算指标显示离职率。

3. 数据准备

登录FineBI商业智能系统http://localhost:8080/FineBI/ReportServer?op=fbi,点击数据配置>业务包管理>常见应用业务包,为该业务包添加1个数据表,如下图:

商业智能分析数据准备

该数据表中有一个字段transferType,值为0时表示人员离职,值为1时表示入职。

4. Cube更新

保存业务包,回到数据配置界面,选择Cube更新设置,点击立即更新多维数据库按钮将数据库中的数据更新到Cube中。

5. 新建分析

点击新建分析按钮,新建一个即时分析interval,布局方式选择自由布局,拖曳一个时间区间控件和一个表格组件至分析主体页面,如下图:

商业智能系统新建分析

5.1 时间区间控件
点击时间区间控件右上角的按钮,进入配置界面,修改其控件名称为时间,如下图:

商业智能平台时间区间控件

注:不为该控件绑定字段,因为要使用该控件进行多个时间段的过滤,故不能使用表间关系直接进行过滤,需要将该控件的值作为参数传递到分析组件中,对数据进行过滤。

5.2 表格组件

选中表格组件,点击点击进入配置界面,将上面添加到常见应用业务包中的employee_transfer表中的department字段拖曳到行表头中,记录数字段拖曳到数值区域中,如下图:

商业智能平台表格组件

5.3 离职人数

下面将上面的时间区间控件中的开始时间结束时间作为参数,过滤表格组件中的数据。
根据指标条件过滤中的步骤为记录数添加一个过滤条件。进入过滤条件添加对话框,选择添加条件,选中employee_transfer表中的transferTime字段,其过滤方式选择属于,点击开始时间输入框,选择参数,会列出所有分析主体中的时间控件,这里只有一个前面添加的时间区间控件时间,点开,就可以看到该控件下面有2个参数:开始时间结束时间,过滤字段的开始时间输入框对应的选择开始时间参数,结束书剑输入框选择结束时间参数,如下图:

商业智能分析过滤数据

再为记录数字段添加一个公式过滤条件:transferType=0,表示该记录数只统计离职的人数,如下图:

商业智能分析过滤数据

点击保存,修改数值区域中记录数字段名为离职人数

5.4 月底总人数

再拖曳一个记录数字段至数值区域中,按照上面的过滤条件添加方法,添加2个过滤条件,transferType=1transferTime属于空到“时间控件的结束时间”,如下图:

商业智能分析添加过滤

注:在添加transferTime的过滤值得时候,开始时间为空,结束时间为时间控件的结束时间参数,表示显示transferTime字段中结束时间之前的所有数据。
点击保存,修改数值区域中该记录数字段名为月底总人数

5.5 离职率

前面已经将离职率公式中的2个因子都计算出来了,下面就可以直接添加计算指标来计算离职率了。
点击添加计算指标按钮,修改计算指标名称为离职率,其公式输入如下图:

商业智能分析添加计算指标

点击保存配置按钮,在数值区域中去掉离职人数月底总人数前面的勾选,使数值区域中只显示离职率这个字段

6. 效果查看
设置完成之后,回到分析主体页面,比如说想要查看5月份的离职率,将时间控件时间修改为5月1号到31号,下面的表格组件就会显示其5月份的离职率,如下图:

商业智能分析效果查看

如果想要查看6月份的离职率,再修改其时间控件的值为6月1号到30号即可,如下图:

商业智能分析效果查看