看板 Statistics 關於我們 聯絡資訊
我的資料 A(名稱:sp500opprice) B(名稱:sp500410) date close bid offer date stricke high low 02Jan2004 1111 1123 1120 2004-01-02 1120 1122 省 省 02Jan2004 1112 1125 1123 2004-01-03 1130 1123 略 略 02Jan2004 1113 1124 省 2004-01-04 1150 1124 03Jan2004 1121 省 略 2004-01-05 1130 1125 03Jan2004 1122 略 03Jan2004 1123 . 03Jan2004 1124 03Jan2004 1125 想將兩資料合併成: date close strike bid offer .... 02Jan2004 1111 1122 02Jan2004 1112 1122 02Jan2004 1113 1122 03Jan2004 1121 1123 03Jan2004 1122 1123 A資料每天多筆資料皆能對到B資料的每天資一筆資料,主要是DATA變數,表達方式要一樣 CLOSE變數一天多個,能對上STRIKE變數。 之前板上大所給予的CODE,改寫後 data a1 裡面顯示的qq都用 . 表示,最後也無法合併。 以下是我的CODE: libname cc'C:\SASdate'; run; data a; set cc.sp500opprice; run; data b; set cc.sp500410; run; data a1; set a; qq=input(date,DATE9.); proc sort; by qq; run; data b1; set b; qq=mdy(substr(date,6,2),substr(date,9,2),substr(date,1,4)); date2=put(qq,date9.); drop date; run; data e; merge a1(in=a) b1(in=b); by qq; if a=1 or fb=1; drop qq; run; proc sort; by qq; run; -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.26.164.111
west1996:我把你貼的code貼到SAS上跑是正常可以用的,很有可能是你 03/02 20:50
west1996:的原始資料中date那一個變數的變數類型本來就已經是日期 03/02 20:50
west1996:的格式了,建議先檢查一下原始檔案裡的變數格式 03/02 20:52
c21221203:我剛檢查發現a資料的format 是date格式,所以我應該如꘿ 03/02 22:19
c21221203:如何更改程式。 03/02 22:19
socery:data格式更方便, *1就可以了,不用用input或是mdy 03/02 22:29
socery:date=_=打錯 03/02 22:30
west1996:code第11行改成qq=date; 就行了 03/03 08:52