全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
4481 5
2016-11-02
我在SAS表中生成一个日期格式,形如“2016-01-01 00:00:00” , format 是我自己定义的日期格式

用proc import data=表名 outfile="" dbms=excel replace;
sheet="sheet";
run;

结果输出的excel中这个日期格式是文本格式,形如”1790899200“

求教求教,如何解决这一问题!!



二维码

扫码加我 拉你入群

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

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

全部回复
2016-11-2 16:42:09
不知道怎么回事欸。。。你要不把时间转成字符型变量试试?
二维码

扫码加我 拉你入群

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

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

2016-11-2 17:24:14
把date和time分开 ,导出excel,把date和time在excel中直接相加,设置单元格格式>自定义
data test;
informat x ymddttm30.;
input x;
format x datetime30.;
cards;
2016-01-01 00:00:00
;
run;

data test1;
format date yymmdd10. time time12.;
set test;
date=datepart(x);
time=timepart(x);
run;
二维码

扫码加我 拉你入群

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

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

2016-11-3 09:35:36
l1i2n3i4n5g 发表于 2016-11-2 17:24
把date和time分开 ,导出excel,把date和time在excel中直接相加,设置单元格格式>自定义
data test;
info ...
额,运行并proc export 了一下,输出的excel中显示的日期格式的“2016/1/1”,还是得去格式里的自定义,定义成“yyyy-mm-dd hh:mm:ss”格式,呵呵,感觉这是SAS 的缺陷啊,是不是无解的?
难道是因为excel中本身没有我想要的这种格式,所以输出不出来吗?
额,还是太懒了,我还是输出后手动设置一下吧,谢谢各位!!
二维码

扫码加我 拉你入群

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

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

2016-11-3 09:37:42
进击的小瓶盖 发表于 2016-11-2 16:42
不知道怎么回事欸。。。你要不把时间转成字符型变量试试?
因为输出的结果是直接导进系统的,我希望尽量不需要二次操作,也怕原本的日期型格式变成文本型以后读入系统不能识别。。我决定每次输出以后手动修改一下了,哈哈。。。
二维码

扫码加我 拉你入群

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

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

2016-11-3 14:09:12
你应该同时定义informat ,format 是读入,informat是设置导出的格式。

“If informats are instructions for reading data, then you can view formats as instructions for outputting data.”
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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