[程式] SAS 資料處理問題請益
------------------------------------------------------------------------
TITLE請著名軟體類別
按ctrl+v可預覽 發文前請把灰色的註解刪除
可使用ctrl+y刪除一整行
[軟體程式類別]:
SAS
[程式問題]:
資料處理
[軟體熟悉度]:
新手(不到1個月)
[問題敘述]:
1.原想分開處理日期跟時間再換算,但日期的部分一直出現error,
所以想合併日期跟時間轉成可直接進行計算SAS的日期時間隔式,
但一直做不出來,想請高手解惑;
2.另外因為類似資料集有幾百個需要相同的處理,
想請高手有沒有比較快速的方式,謝謝!!
[程式範例]:
-----------------------------------------------------------------------------
原資料檔案如下:
序號 Date 買/賣 時間
1 20090101 B 07:00:01
2 20090101 S 07:01:59
3 20090207 S 12:03:40
4 20090210 B 23:12:32
. . .
. . .
欲計算每筆序號間隔時間,如:
序號 Date 買/賣 時間 間隔時間
1 20090101 B 07:00:01 0
2 20090101 S 07:01:39 0天0時1分38秒
3 20090107 S 12:03:40 6天5時2分3秒
4 20090110 B 23:12:42 3天 11時9分2秒
data ddd; set A; TIME1=COMPRESS(TIME,":") ; run;
data dd2;set ddd;
ttt=HMS(substr(TIME1,1,2),substr(TIME1,3,2),substr(TIME1,5,2) );
kkk=ttt-lag(ttt);
dhour=hour(kkk);
dmin=minute(kkk);
dsecond=second(kkk);
kk=MDY(substr(DATE,5,2),substr(DATE,7,2),substr(DATE,1,4))-MDY(substr(lag(DATE),5,2),substr(lag(DATE),7,2),substr(lag(DATE),1,4));
/*出現error*/
dday=day(kk);
run;
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.193.18.162
推
03/19 09:37, , 1F
03/19 09:37, 1F
→
03/19 12:42, , 2F
03/19 12:42, 2F
→
03/19 18:11, , 3F
03/19 18:11, 3F
推
03/20 08:54, , 4F
03/20 08:54, 4F
→
03/20 08:54, , 5F
03/20 08:54, 5F
推
03/20 09:34, , 6F
03/20 09:34, 6F
→
03/20 09:35, , 7F
03/20 09:35, 7F
→
03/20 09:36, , 8F
03/20 09:36, 8F
→
03/20 09:49, , 9F
03/20 09:49, 9F
推
03/20 10:49, , 10F
03/20 10:49, 10F
→
03/20 10:50, , 11F
03/20 10:50, 11F
→
03/20 10:51, , 12F
03/20 10:51, 12F
→
03/20 13:03, , 13F
03/20 13:03, 13F
→
03/20 13:04, , 14F
03/20 13:04, 14F