页面树结构
转至元数据结尾
转至元数据起始

(本文档仅供参考)

问题说明

在oracle数据库中,有一个表,其中存在2个数值的字段,分别是C_DATA1和C_DATA2,其中C_DATA1有一条数据为空。如下:


在Smartbi中创建自助数据集,新建计算字段,其表达式为 C_DATA1+C_DATA2

在预览数据时,会发现,C_DATA1为空的那条记录,计算字段的值也为空。如下:

那么,怎么让C_DATA1为空的数据,对应的计算字段值正确显示呢?

解决方案

原因:这个实际上是oracle数据库的逻辑,当两个数值字段A+B时,其中一个为空值时,计算结果也为空。如下:


oracle提供了对应的函数进行处理,如果需要显示正确的数据,需要使用函数判断空值,如果是空值则转换为0

oracle中对应的函数为  NVL(<需要判断为空值的字段>,<需要转换成什么值>)

因此可以使用NVA(C_DATA1,0)来进行转换。

如下:


因此,只需要修改计算字段的表达式,增加上对应的函数判断即可。

预览数据如下:

  • 无标签