这是我第一次发帖。自从上次报了人大数据分析培训班,疯狂爱好sas,一开始对于时间输入感到头疼,现在终于差不多解决了。这是我的一点心得。
2010/7/1 7:47:35
2010/11/1 17:47:35
2010/7/12 3:47:35
这是我在sas中看到的一个关于时间输入的求解问题,其实很简单。
方法1;如下;
data a1;
input s anydtdtm40.;
format s datetime16.;
informat s anydtdtm40.;
datalines;
2010/7/1 7:47:35
2010/11/1 17:47:35
2010/7/12 3:47:35
;run;
注意输入用 anydtdtm后面数字根据time输入的长度自己加数字如 anydtdtm40.。输出用datetime。
如下例子;有时间类型的 也有时间日期类型的也可以这样解决。
data a21;
input dateinfo anydtdtm25.;
put dateinfo datetime25.;
cards;
14JAN2011 12:24:32.8
14012011
20110114
;Run;
方法2如下
接着第一个问题。还有种方法是把
2010/7/1 7:47:35
2010/11/1 17:47:35
2010/7/12 3:47:35存在文本中
然后
proc import datafile="c:\test\time.txt"
out=t dbms=tab replace;
run;
打开work.t 查看列的属性可以看到数据的类型informat 是 anydtdtm40. format是datetime16.
也就是方法2能和方法1的方法效果和具体的代码输入格式是一样的。