永洪社区

标题: 数据列中对空值转换为0会有异常 [打印本页]

作者: cjy    时间: 2022-10-17 08:20
标题: 数据列中对空值转换为0会有异常
数据列中对空值转换为0会有异常,那个0改成0.00001就行了


写0会显示数据异常(所有数据都显示为0),写成0.00001数据显示正常

作者: lwaaa    时间: 2022-10-17 09:11
计算列看不完整,把里面的类容完整发出来看看
作者: cjy    时间: 2022-10-17 09:17
本帖最后由 cjy 于 2022-10-17 09:19 编辑
lwaaa 发表于 2022-10-17 09:11
计算列看不完整,把里面的类容完整发出来看看

ifnull(
sum(case col['IS_CURR_DATE'] when 'Y' then col['隐裂_数量'] else 0 end)
/
sum(case col['IS_CURR_DATE'] when 'Y' then col['隐裂_总选数'] else 0 end)
,0)

作者: lwaaa    时间: 2022-10-17 09:45
cjy 发表于 2022-10-17 09:17
ifnull(
sum(case col['IS_CURR_DATE'] when 'Y' then col['隐裂_数量'] else 0 end)
/

不能 0/0
作者: yhdata_lyaa    时间: 2022-10-17 09:56
数据是不是接近0呀,被除数是0 结果就是0了,除数也不能为0
作者: yhdata_yzm    时间: 2022-10-17 09:57
当都返回else得时候就是0/0了,
作者: cjy    时间: 2022-10-17 10:15
yhdata_yzm 发表于 2022-10-17 09:57
当都返回else得时候就是0/0了,

那为啥后面改成

ifnull(
sum(case col['IS_CURR_DATE'] when 'Y' then col['隐裂_数量'] else 0 end)
/
sum(case col['IS_CURR_DATE'] when 'Y' then col['隐裂_总选数'] else 0 end)
,0.00001)

就好了呢
作者: yhdata_yzm    时间: 2022-10-17 10:47
ifnull判断返回值为0.00001
作者: cjy    时间: 2022-10-17 10:59
yhdata_yzm 发表于 2022-10-17 10:47
ifnull判断返回值为0.00001

不是,是所有的值都正常了    写0 就都不正常
作者: yhdata_yzm    时间: 2022-10-17 11:13
cjy 发表于 2022-10-17 10:59
不是,是所有的值都正常了    写0 就都不正常

我大概理解了,你是说写0的时候ifnull()只会返回0,写成其他的就没问题,就可以正常返回表达1,有数据样例吗,我们看看
作者: cjy    时间: 2022-10-17 11:22
yhdata_yzm 发表于 2022-10-17 11:13
我大概理解了,你是说写0的时候ifnull()只会返回0,写成其他的就没问题,就可以正常返回表达1,有数据 ...

不好意思,数据不太方便




欢迎光临 永洪社区 (http://club.yonghongtech.com/) Powered by Discuz! X3.4