楼主: mengqinqing
18282 14

sas日期输入格式 [推广有奖]

11
yongyitian 发表于 2013-4-8 11:40:02
mengqinqing 发表于 2013-4-8 11:21
不好意思,又打扰了,请问下面总是出错是怎么回事?谢谢。
I added a +1 before t3 and t5
it works now.

data time;
infile cards dlm= ' ';
input group t1 time5. t2 time5. +1 t3 time5. +1 t4 time5.;
format t1 time5.;
format t2 time5.;
format t3 time5.;
format t4 time5.;
  surgerytime = hour(t1)*60+minute(t1);
  stime= hour(t2)*60+minute(t2);
artificialtime= hour(t3)*60+minute(t3);
atime= hour(t4)*60+minute(t4);
cards;
1 09:50 11:30 9:50 11:06
1 10:00 12:55 10:04 12:30
1 10:25 14:50 10:36 14:20
1 09:52 11:30 9:54 11:10
1 09:43 13:45 9:46 12:00
1 10:15 14:40 10:20 14:11
1 9:43 12:06 9:50 11:36
1 9:53 12:50 9:55 12:28
;
run;

12
mengqinqing 发表于 2013-4-8 14:17:57
yongyitian 发表于 2013-4-8 11:40
I added a +1 before t3 and t5
it works now.
非常感谢,已经可以正确导入了
用自己的力量站在自己的位置

13
ariman911 发表于 2013-4-8 20:02:38
data time;
input group t1 : time5. t2 : time5. t3 : time5. t4 : time5.;
format t1 time5.;
format t2 time5. ;
format t3 time5. ;
format t4 time5. ;
surgerytime = hour(t1)*60+minute(t1);
stime= hour(t2)*60+minute(t2);
artificialtime= hour(t3)*60+minute(t3);
atime= hour(t4)*60+minute(t4);
cards;
1 09:50 11:30 09:50 11:06
1 10:00 12:55 10:04 12:30
1 10:25 14:50 10:36 14:20
1 09:52 11:30 09:54 11:10
1 09:43 13:45 09:46 12:00
1 10:15 14:40 10:20 14:11
1 9:43 12:06 9:50 11:36
1 9:53 12:50 9:55 12:28
;
run;

讀資料的格式錯誤以前6筆而言需要6.而不是5.
但是第7,8筆的長度跟前6筆不一樣
所以要加 : 即可

這時長度可以使用5.
因為這時的區隔資料方式為空白
5.或6.是設定格式而已

14
chaosxiao 发表于 2013-4-11 11:51:25
input group t1 time5. t2 :time5. t3 time5. t4 time5.;
变量t2  后面加个:
两个条件,一个是长度满5,一个是碰到分隔符‘’,‘:’的作用就是哪个条件先满足就停

15
huangtiancheng 在职认证  发表于 2020-2-16 13:44:01
mengqinqing 发表于 2013-4-4 23:58
非常感谢!真是我想要的。
请问为什么还要定义format?
format 为定义输出格式,如果缺少此语句,那么输出将以sas默认方式输出。

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

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