cjy白银四
2022-10-17 08:20:29 发布在问答
数据列中对空值转换为0会有异常
数据列中对空值转换为0会有异常,那个0改成0.00001就行了


写0会显示数据异常(所有数据都显示为0),写成0.00001数据显示正常
微信截图_20221017081643.png
微信截图_20221017082004.png
2068
10
精彩评论10
lwaaa青铜二
发表于 2022-10-17 09:11:20 显示全部楼层
计算列看不完整,把里面的类容完整发出来看看
回复

使用道具 2#

cjy白银四
发表于 2022-10-17 09:17:37 显示全部楼层
本帖最后由 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)
回复

使用道具 3#

lwaaa青铜二
发表于 2022-10-17 09:45:58 显示全部楼层
cjy 发表于 2022-10-17 09:17
ifnull(
sum(case col['IS_CURR_DATE'] when 'Y' then col['隐裂_数量'] else 0 end)
/

不能 0/0
回复

使用道具 4#

yhdata_lyaa
发表于 2022-10-17 09:56:33 显示全部楼层
数据是不是接近0呀,被除数是0 结果就是0了,除数也不能为0
回复

使用道具 5#

yhdata_yzm
发表于 2022-10-17 09:57:28 显示全部楼层
当都返回else得时候就是0/0了,
回复

使用道具 6#

cjy白银四
发表于 2022-10-17 10:15:56 显示全部楼层
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)

就好了呢
回复

使用道具 7#

yhdata_yzm
发表于 2022-10-17 10:47:56 显示全部楼层
ifnull判断返回值为0.00001
回复

使用道具 8#

cjy白银四
发表于 2022-10-17 10:59:26 显示全部楼层
yhdata_yzm 发表于 2022-10-17 10:47
ifnull判断返回值为0.00001

不是,是所有的值都正常了    写0 就都不正常
回复

使用道具 9#

yhdata_yzm
发表于 2022-10-17 11:13:14 显示全部楼层
cjy 发表于 2022-10-17 10:59
不是,是所有的值都正常了    写0 就都不正常

我大概理解了,你是说写0的时候ifnull()只会返回0,写成其他的就没问题,就可以正常返回表达1,有数据样例吗,我们看看
回复

使用道具 10#

12  
高级模式
您需要登录后才可以回帖 登录 | 免费注册

  • 官方微信

    欢迎关注永洪服务号!收费为0,价值无限

    扫码关注
  • 新浪微博

    让每位用户轻松挖掘数据价值!

    访问新浪微博
  • 智能客服
1500W

用户等你来哦

Copyright   ©2012-2025  北京永洪商智科技有限公司  (京ICP备12050607) 京公网安备110110802011451号 |《永洪社区协议》
返回顶部