全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
3138 5
2014-12-07
大家好,最近在处理SAS变量的时候遇到了问题, 不知如何解决,现将问题呈现,希望得到大家的帮助,问题是这样的,有个字段是手机通话时长,但是数据库里面的单位不统一,会有纯数字的,如20,表示20秒,有‘1分20秒’的,还有‘20秒’,还有‘1小时2分30秒’的,现在的任务是要将这些不一致的单位进行统一,我想到一个方法如下:
data a;
   input x $20.;
   cards;
1小时2分10秒
2分12秒
;
run;
data b;
   set a;
   x=tranwrd(x,'小时','*3600+');
   x=tranwrd(x,'分','*60+');
   x=tranwrd(x,'秒','*1');
run;

这样就将时间x转化为‘1*3600+2*60+10*1’的形式,
问题是如何将这个文本的时间计算表达式转化为相应的计算值呢?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2014-12-7 10:17:43
复制代码
基于楼下mingfeng的回复,我修改了下
复制代码
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-12-7 11:36:59
复制代码
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-12-8 09:02:51
Tigflanker 发表于 2014-12-7 10:17
基于楼下mingfeng的回复,我修改了下
谢谢,您的方法解决了问题,有一个问题。正则里面?:是什么意思,恕我才疏学浅哈
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-12-8 09:02:54
Tigflanker 发表于 2014-12-7 10:17
基于楼下mingfeng的回复,我修改了下
谢谢,您的方法解决了问题,有一个问题。正则里面?:是什么意思,恕我才疏学浅哈
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-12-8 10:23:19
hawkscry 发表于 2014-12-8 09:02
谢谢,您的方法解决了问题,有一个问题。正则里面?:是什么意思,恕我才疏学浅哈
是说它所在的缓存区不做提取标记,换言,让它所在的缓存区圆括号变成单纯意义的括号。

Ex : (?:\w)(\d)     
\1 means the value from \d
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群