作者MOONY135 (谈无慾)
看板Statistics
标题[程式]SAS不同群组的时间相减
时间Tue Oct 21 10:25:02 2014
------------------------------------------------------------------------
[软体程式类别]:
请填入软体程式类别,例如:SAS、SPSS、R、EVIEWS...等
SAS
[程式问题]:
资料处理、回归、叙述统计、logistic、probit...等
资料处理
[软体熟悉度]:
中(3个月到1年
[问题叙述]:
我有一笔资料如下
希望作出不同MONBR的最後一笔OTU_TIME-第一笔的IN_TIME 并存到另外一个栏位
例如 MONBR A 是
27Jun2014 14:57:53-23Jun2014 14:57:50
MONBR B 是
25Jun2014 14:47:18-23Jun2014 14:47:12
MONBR 班别 IN_TIME OUT_TIME
A 1 23Jun2014 14:57:50 23Jun2014 14:57:50
A 2 23Jun2014 14:57:51 23Jun2014 14:57:51
A 3 23Jun2014 14:57:52 23Jun2014 14:57:52
A 4 23Jun2014 14:57:53 27Jun2014 14:57:53
B 1 23Jun2014 14:47:12 23Jun2014 14:47:12
B 2 23Jun2014 14:47:15 23Jun2014 14:47:15
B 3 23Jun2014 14:47:18 25Jun2014 14:47:18
[程式范例]:
虽然张贴程式很可怕,但基本上有些程式还是要张贴才能解决
目前用ifn函数但是没办法解决的样子
data STEP_2;
set WORK.'STEP_1'n;
by MONBR;
first_in= ifn( first.MONBR , INTIME , (.) );
/*如果是MONBR的第一组 那就放intime 如果不是就是遗漏值*/
last_out= ifn( last.MONBR , OUTTIME , (.) );
run;
出来结果会变成 就卡住了 不知道有没有其他办法可以解决
MONBR 班别 first_in last_out
A 1 23Jun2014 14:57:50 0
A 2 0 0
A 3 0 0
A 4 0 27Jun2014 14:57:53
B 1 23Jun2014 14:47:12 0
B 2 0 0
B 3 0 25Jun2014 14:47:18
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.35.215.137
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/Statistics/M.1413858304.A.C39.html
1F:→ BugEater: 用retain first_in;然后用if first.MONBR then **; 10/21 10:42
2F:→ BugEater: if last.MONBR then **; if last.MONBR then output; 10/21 10:43
3F:→ MOONY135: 请问这样是会变成另外一张TABLE吗 但因我还有其他要计算 10/21 10:55
4F:→ MOONY135: 的... 10/21 10:55
5F:→ MOONY135: 弄成另外一张TABLE再并回来吗? 10/21 10:55
6F:推 BugEater: 如果不用变成新的data也可以,那就把output那行code去掉 10/21 11:22