1. 概述
FineBI6.1 跟 6.0 的主要区别是,对「null,"",NAN」的处理不一样,这三者在前面看都是空,但是在实际计算中是不一样的。
2. 空值概念
三种类型的空值概念说明:
类型 | 说明 |
---|---|
null | 数据库中数据为空 |
"" | 公式计算得到的空值 如:if(a=b,a,"")中得到的”“在新版本会被识别为文本类型,如果想要得到数值的空,需要写 null |
NAN | 只有在 6.0 函数中才会出现的场景,目前已知的是 null/null ,log()函数计算结果会出现NAN;NAN参与的计算可以说大概率结果还是NAN; 在 6.1 版本中不会再出现NAN了,如果有计算出现了NAN那就是bug,6.1 版本中null/null还是null,可以说 6.1 版本会把计算结果为空的的空定为null |
3. 6.1与6.0空值计算差异
下面将列举不同计算下,三种空的区别。差异主要体现在在仪表板计算结果。

3.1 6.1去掉NAN带来的四则运算上的差异
应用场景
6.1新计算规则:
null 在四则运算的时候当 0 进行计算
NAN 在四则运算中,结果都为NAN
示例
6.1 | ![]() |
6.0 | ![]() |
解决方案
如果想达到跟之前一样的效率,可使用 if 公式进行判断
比如,公式:1-num/num1
可以改为:if(num/num1=null,null,1-num/num1)
3.2 6.1分组场景对null和“”进行区分
应用场景
6.1 区分""和 null
6.0 不区分"",null
示例
6.1 | ![]() |
6.0 | ![]() |
3.3 6.1中null参与排序
应用场景
6.1 在null参与排名
6.0 中null不参与排名
示例
6.1 | ![]() |
6.0 | ![]() |