看板 Statistics 關於我們 聯絡資訊
------------------------------------------------------------------------ [軟體程式類別]: 請填入軟體程式類別,例如: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