yunzi白银一
2022-10-24 18:14:19 发布在问答
【常用脚本】 字符函数报错
想对银行数据进行清洗,但按以下方式写新的计算列报错,向大佬们请教,看看是哪的问题:

var str = col['银行']
case
when (find(str,'工行') >0) then replace(str,'工行','工商银行')
when (find(str,'交行') >0) then replace(str,'交行','交通银行')
when (find(str,'建行') >0) then replace(str,'建行','建设银行')
when (find(str,'农行') >0) then replace(str,'农行','农业银行')
else str
end

最佳答案

永洪vip
yhdata_yzm

2022-10-24 18:14:20

可以跑出来啊,你看看是不是那里写错了
查看完整内容
4449
11
精彩评论11
yhdata_yzm
发表于 2022-10-24 18:14:20 显示全部楼层
yunzi 发表于 2022-10-25 13:50
谢谢回复。
你那边能跑出来吗?
我这边尝试报语法错误:

可以跑出来啊,你看看是不是那里写错了
回复

使用道具 2#

yhdata_yzm
发表于 2022-10-24 19:00:28 显示全部楼层
报什么错
回复

使用道具 3#

yunzi白银一
发表于 2022-10-25 09:04:38 显示全部楼层
回复

使用道具 4#

yhdata_yzm
发表于 2022-10-25 09:55:07 显示全部楼层

写法做了呗,你是想把工行替换成工商银行之类的对吧
回复

使用道具 5#

yhdata_yzm
发表于 2022-10-25 09:58:59 显示全部楼层
case col['省份'] when '四川' then '四川省'
end
回复

使用道具 6#

yunzi白银一
发表于 2022-10-25 10:06:03 显示全部楼层
yhdata_yzm 发表于 2022-10-25 09:58
case col['省份'] when '四川' then '四川省'
end

谢谢!
这个方向我知道的,在数据集代码里用LIKE也能实现。
但这一步我主要是想做数据清洗,下一步才做分类(因为有很多小银行,无法一个个地写,只能做字符串截取)
回复

使用道具 7#

yhdata_lyaa
发表于 2022-10-25 10:18:03 显示全部楼层
case语句后面需要接表达式,再接when子句
回复

使用道具 8#

yunzi白银一
发表于 2022-10-25 10:37:23 显示全部楼层
yhdata_lyaa 发表于 2022-10-25 10:18
case语句后面需要接表达式,再接when子句

测试过先加字段,再接when,也是同样的报错
回复

使用道具 9#

yhdata_yzm
发表于 2022-10-25 10:59:43 显示全部楼层
yunzi 发表于 2022-10-25 10:37
测试过先加字段,再接when,也是同样的报错

你试试这个可以清洗出来不
if(indexOf(col['产品名称'],'咖啡')!=-1)
then replace(col['产品名称'],'咖啡','都是咖啡')
end
回复

使用道具 10#

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

  • 官方微信

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

    扫码关注
  • 新浪微博

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

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

用户等你来哦

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