※ 引述《mathshadow (活死人)》之銘言:
: [軟體程式類別]:SAS
: [程式問題]:資料處理
: [軟體熟悉度]:
: 中(3個月到1年)
: 之前有很長一段時間都用SAS再處理資料,一些基本指令應該都還算清楚。
: [問題敘述]:
: 目前手上有兩種商品的交易資料要以交易日期跟時間做合併,
: 碰到如果當一個商品A在某一個時間點有交易時,另一個商品B卻沒有,
: 要找商品B最接近商品A交易時間的資料合併。
: 假設A是選擇權資料
: date time strike volume
: 20110101 1200 50 50
: 20110101 1201 40 40
: 20110101 1202 45 45
: B是期貨資料
: date time price
: 20110101 1159 51
: 20110101 1201 41
: 20110101 1202 44
: 希望合併的結果是
: date time strike volume price
: 20110101 1200 50 50 51
: 20110101 1201 40 40 41
: 20110101 1202 45 45 44
: 我已經有爬文一段時間,不過還沒看到合適的方法,
: 所以才想說也PO文詢問看看,
: 麻煩版上比較對SAS處裡比較有經驗的人,能否給些建議。
: 謝謝
data c(drop = price rename = (price1=price));
merge a(in=a) b(in=b);
by date time;
if first.date then price1=price;
else if ^missing(price) then price1=price;
retain price1;
if a;
run;
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.124.64.132