楼主: 春风血凝
5856 0

[学习分享] 关于sas 时间输入问题的解决 [推广有奖]

  • 0关注
  • 0粉丝

等待验证会员

学前班

60%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
20 点
帖子
1
精华
0
在线时间
2 小时
注册时间
2014-10-14
最后登录
2015-1-8

楼主
春风血凝 发表于 2014-12-19 15:12:34 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
     这是我第一次发帖。自从上次报了人大数据分析培训班,疯狂爱好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的方法效果和具体的代码输入格式是一样的。


二维码

扫码加我 拉你入群

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

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

关键词:时间输入 datetime informat informa replace

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-11 17:06