作者minna05 (take it easy)
看板Statistics
標題[程式] SAS 兩個檔案合併
時間Mon May 17 20:35:56 2010
[軟體程式類別]: SAS
[程式問題]:檔案合併
[軟體熟悉度]:
低(1~3個月)
[問題敘述]:
假設目前一個檔案是
data x;
input id $ score;
cards;
a 85
a 60
b 90
c 87
c 100
c 75
;
另一個檔案是只有篩好的id檔
data y;
input id $ point;
cards;
b 1
c 2
;
想做出合併後 data z的結果是
b 90 1
c 87 2
c 100 2
c 75 2
語法該如何寫呢?
註:data b中的id非常多筆,無法用逐筆key ^^"
謝謝大家 :)
[程式範例]:
-----------------------------------------------------------------------------
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 124.12.7.82
1F:推 wlsherica:merge? 05/17 20:44
※ 編輯: minna05 來自: 124.12.7.82 (05/17 20:57)
2F:→ minna05:如果用merge x y的話,id a 還是存在,只是a的point變成遺漏 05/17 20:58
3F:→ minna05:值~所以想請問有沒有用data y檔案就直接剔除無法對應id的 05/17 20:59
4F:→ minna05:方法...謝謝^^ 05/17 20:59
5F:→ ASD332:merge x y (in = a) ; by id ; if a ; 05/17 21:11
6F:→ ASD332:善用 in 05/17 21:11
7F:推 wlsherica:沒錯 用in即可達到你的目的 05/17 21:16
8F:→ minna05:請問用in的方法是否需要逐筆key id? data x中的id a只是舉 05/17 21:18
9F:→ minna05:例,實際上data x中有非常多筆需要排除的id ^^" 05/17 21:18
10F:→ minna05:所以我想學會用data y中的id 去排除data x 所沒有對應到的 05/17 21:20
11F:→ ASD332:逐筆key? 你要不要就你這篇的範例sas跑看看 05/17 21:20
12F:→ minna05:id,並且在兩個檔案兼有的id中合併其他欄位~謝謝^^ 05/17 21:21
13F:→ ASD332:看x、y都有寫 in 、或挑一個寫 看有啥差別 你應該就會用了 05/17 21:21
14F:→ ASD332:ㄜ... 我上面 in = a 是舉例用的 a可以用其它任何東西取代 05/17 21:25
15F:→ ASD332:希望原po沒有誤會 = = 05/17 21:25
16F:→ minna05:我懂了!!!謝謝大家QQ 果然還是跑過一次做中學最快^^ 05/17 21:27
17F:→ minna05:感謝提供語法&教學的版友~ 05/17 21:27
18F:推 wlsherica:祝你好運優~ 05/17 21:28