全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
5449 3
2010-05-02

最近导入了一个数据,里面有turnover这一项,在导入的时候把turnover做成字符型的了(如果是用数值型的导入的话,会有很多字符无法辨认),但是后来的运算中需要把这个变量当成数值型的,不知道该用什么function,我现在的code 是 turnover=input(substr(turnover,1,2),8.), 但是出不了结果。


原数据是


turnover


$ 0


$ 0


$ 0


$ 0


$ 0


$ 10 这样子的~


急用,很低级的问题,请教了~ 谢谢~


二维码

扫码加我 拉你入群

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

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

全部回复
2010-5-2 09:53:05
不知道下面是不是你需要的
data a;
input turnover $ &10. ;
cards;
$ 0
$ 0
$ 0
$ 0
$ 0
$ 10

;run;
data y;
set a;
new=input(substr(turnover,2,4),8.);run;
二维码

扫码加我 拉你入群

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

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

2010-5-2 21:55:42
是的是的,应该从第2个字符开始找的,恍然大悟~
还有弱弱的问一下,substr(turnover,2,4),8中4 和 8分别是什么意思,如果turnover超过4位数的话,要怎么改呢?
谢谢啦~
二维码

扫码加我 拉你入群

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

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

2010-5-3 01:49:34
elliott828 发表于 2010-5-2 03:59

最近导入了一个数据,里面有turnover这一项,在导入的时候把turnover做成字符型的了(如果是用数值型的导入的话,会有很多字符无法辨认),但是后来的运算中需要把这个变量当成数值型的,不知道该用什么function,我现在的code 是 turnover=input(substr(turnover,1,2),8.), 但是出不了结果。


原数据是


turnover


$ 0


$ 0


$ 0


$ 0


$ 0


$ 10 这样子的~


急用,很低级的问题,请教了~ 谢谢~


The informat of either dollarW.d or commaW.D would handle it. See example below.
data _null_;
length turnover $20;

turnover='$ 10,050.19';
convert=input( turnover, dollar20.2);
convert2=input( turnover, comma20.2);
put convert convert2;
run;
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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