1. 描述
场景描述:在人员简历表中,可能出现员工填写较随意的情况,比如有的人填写了中学毕业时间,有的人填写了大学毕业时间。因为员工的学历不一,因此无法通过一列数据判断该员工的最后毕业时间,此时就需要从多列数据中获取到员工的毕业时间。
应用示例:比如下图原始数据包含A和B两列数据,需要新增一列数据 C,C 的获取条件为当 A 为空的时候,拿到的是 B;B 为空的时候,拿到的是 A;当 AB 都有数据的时候,获得最大值。
如何实现:在 FineBI 中,目前可以通过 IF 函数判断来实现该场景,即判断 A 为空,取 B;B 为空,取 A;A、B 均不为空,根据 A、B 大小取值;下面我们详细介绍下在 FineBI 中实现以上示例的步骤。
2. 操作步骤
2.1 添加数据
1)下载示例数据:人员简历表.xls
2)在业务包中选择添加表>EXCEL 数据集,如下图,将「人员简历表」导入业务包中。
3)导入成功的数据预览如下图:
2.2 创建自助数据集
在业务包编辑页面,选择添加表>自助数据集,如下图:
添加导入的表字段 A 和 B,并在左侧步骤栏选择新增列,如下图:
命名新增列为 C,获取新增列的公式如下图,为if(isnull(A),B,if(isnull(B),A,if(DATESUBDATE(A,B,"d")>0,A,B)))。使用的函数为 if、isnull和DATESUBDATE,分别用于判断条件、判断是否为空和比较日期大小。
注:公式中的时间字段 A 和 B 不能直接输入,需要单击字段选择。
点击确定保存该新增列,则数据预览处即出现该新增列 C,如下图:
2.3 效果查看
此时我们点击右上角的保存按钮保存该自助数据集,并在业务包界面单击更新进度,显示完成后进入数据预览处,可以看到包含新增列 C 的自助数据集数据。