找文章 / 找答案
  • 发帖数2
  • 粉丝1

此人很懒,什么也没有留下

    精选问答 更多内容

    计算列

    yhdata_onLSWQfA玄铁三 显示全部楼层 发表于 2024-9-15 10:51:36 |阅读模式 打印 上一主题 下一主题
    1
    未解决

    计算列

    307 4
    一列的内容有两种表达方式:“userName":"小王","loginName":"xiaowang","IdapfullPath":"无锡工厂\\工艺部\\现场组”
      "IdapfullPath":"无锡工厂\\工艺部\\现场组","loginName":"xiaohangfei","userName":"小黄飞"

    我想提新建计算列:找出对应的汉字名  小王、小黄飞
    怎么建立计算列表达式


    回复

    使用道具 举报

    精彩评论4

    yhdata_onLSWQfA玄铁三 显示全部楼层 发表于 2024-9-15 10:53:05
    一列的内容有两种表达方式:
    表达方式①"userName":"小王","loginName":"xiaowang","IdapfullPath":"无锡工厂\\工艺部\\现场组”
    表达方式②"IdapfullPath":"无锡工厂\\工艺部\\现场组","loginName":"xiaohangfei","userName":"小黄飞"

    我想提新建计算列:找出对应的汉字名  小王、小黄飞
    怎么建立计算列表达式
    回复

    使用道具 举报

    Fiona 显示全部楼层 发表于 2024-9-15 13:51:36
    1. 新建计算列: mid(col['列'], find( "userName", col['列'])+11)
    2. 新建计算列2: find(",", col['计算列'])
    3. 新建计算列3: mid(col['计算列'],1, if (col['计算列2']-2)>0 then col['计算列2']-2  else len(col['计算列'])-1 end)
    回复

    使用道具 举报

    Malelee青铜一 显示全部楼层 发表于 2024-9-15 14:15:05
    //定义字符串
    var data = 'userName":"小王","loginName":"xiaowang","IdapfullPath":"无锡工厂\\工艺部\\现场组”'
    //找到分隔符位置
    var a=find(":",data,1)
    var b=find(",",data,1)
    //根据分隔符位置截取
    var c =substring(data,a,b-1)
    //替换掉没用的分隔符
    var d =substitute(c,'"','')
    //最后依次组合进去
    var d1 =substitute(substring('userName":"小王","loginName":"xiaowang","IdapfullPath":"无锡工厂\\工艺部\\现场组”',find(":",data,1),find(",",data,1)-1),'"','')
    debug(d)
    debug(d1)
    回复

    使用道具 举报

    yanieye 显示全部楼层 发表于 2024-9-15 19:19:24
    基本思路就是根据特征,做字符串的截取
    先找到"userName":"的位置, 在找到 "userName":" 的位置 + 1之后的",也就是人名之后的那个引号,取中间的内容就是要得到的人名
    计算列的公式如下
    substring(col['oriCol'], indexOf(col['oriCol'], '"userName":"') + len('"userName":"'), indexOf(col['oriCol'], '"userName":"') + len('"userName":"') +1 + indexOf(substring(col['oriCol'], indexOf(col['oriCol'], '"userName":"') + len('"userName":"') + 1), '"'))
    特别说明,这种处理会很消耗计算资源,如果行数多,效率会不好。最好是在ETL过程中先把数据处理好。
    回复

    使用道具 举报

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

    • 官方微信

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

      扫码关注
    • 新浪微博

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

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

    会员等你来哦

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