全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
7513 4
2016-07-13
应该是很简单的,可是参照网上帖子试了多种方法都不行,搞得半夜睡不着,早上睡不着,着急啊......无奈求助各位大牛.......

data a 是从excel导入的,变量var1的格式为字符型日期 12Mar16:00:00:00 这种样子;导入sas准备和data b合并同时与变量var2 进行运算,var2是数值型日期格式,长度为8,格式也是 12Mar16:00:00:00 这种样子;


怎么破??


觉得好丢脸.....




二维码

扫码加我 拉你入群

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

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

全部回复
2016-7-13 08:06:59
data wanted;
var1="12Mar16:00:00:00";
date=input(var1,datetime20.);
format date datetime20.;
run;
二维码

扫码加我 拉你入群

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

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

2016-7-13 08:34:13
wwang111 发表于 2016-7-13 08:06
data wanted;
var1="12Mar16:00:00:00";
date=input(var1,datetime20.);
谢谢,我用这种方式改了以后发现 var1所有观测都变成 12Mar16:00:00:00了;
新变量date都变成1774137600了。但是把var1="   "; 这一行删掉就可以了,不知道为什么。

最后试了一下,这两种方法都可以:
data a; set a;
newdate=input(var1,datetime20.);
format newdate datetime20.;
run;

这样改出来var1 和 var2都是 日月年时分秒的格式
---------------------

data a; set a;
newdate=input(var1,date8.);
run;

data b; set b;
newvar=datepart(var2);
newvar2=newdate-newvar;
run;

这样改出来都是以sas为准的天的格式,然后可以直接运算。

谢谢楼上,帮了我大忙。
自己真的看了很多帖子,他们的都是2012-10-13这样的格式,我这边根本运行不了。
还有的帖子说用put和input都行,实际上完全相反,input是将字符转化为数值,put反过来。

希望这个帖子能帮到跟我一样笨的人,哈哈~~
二维码

扫码加我 拉你入群

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

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

2018-8-30 10:07:52
您好,我想问下01DEC2012这样的日期格式是需要用input改成数值格式,然后再处理吗
二维码

扫码加我 拉你入群

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

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

2018-10-5 11:30:19
黄旗一点兵马收0 发表于 2018-8-30 10:07
您好,我想问下01DEC2012这样的日期格式是需要用input改成数值格式,然后再处理吗
如果要计算人年,就需要转换哦
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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