作者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://www.ptt.cc/bbs/Statistics/M.1413858304.A.C39.html
→ BugEater: 用retain first_in;然后用if first.MONBR then **; 10/21 10:42
→ BugEater: if last.MONBR then **; if last.MONBR then output; 10/21 10:43
→ MOONY135: 請問這樣是會變成另外一張TABLE嗎 但因我還有其他要計算 10/21 10:55
→ MOONY135: 的... 10/21 10:55
→ MOONY135: 弄成另外一張TABLE再併回來嗎? 10/21 10:55
推 BugEater: 如果不用變成新的data也可以,那就把output那行code去掉 10/21 11:22