看板 Statistics 關於我們 聯絡資訊
[軟體程式類別]:SAS [程式問題]:資料處理/合併 [軟體熟悉度]:低~中 [問題敘述]: 我有兩個檔案(兩個月分), 因為兩個檔案的公司名稱與日期皆不相同 但是我只要合併兩個月份同時都有的公司即可 簡單舉例如下: 第一個檔案DATADD Company Date A 2001/1/1 A 2001/1/2 B 2001/1/1 B 2001/1/2 C 2001/1/1 C 2001/1/2 D 2001/1/1 D 2001/1/2 第二個檔案DATA DD1 Company Date A 2001/2/1 A 2001/2/2 D 2001/2/1 D 2001/2/2 E 2001/2/1 E 2001/2/2 希望合併後的檔案(2個檔案重複的公司才需合併) Companay Date A 2001/1/1 A 2001/1/2 A 2001/2/1 A 2001/2/2 D 2001/1/1 D 2001/1/2 D 2001/2/1 D 2001/2/2 -------------------------------------------------------------- 寫的CODE: data dd2; merge dd dd1(in=a); by company; if a=1 ; run; 跑出來的結果: A 2001/1/1 A 2001/1/2 D 2001/1/1 D 2001/1/2 其實可以再補一個指令即可合併2000/12月份,變成我希望的結果 但是想要知道"Merge"到底該怎麼用,可以一個步驟解決 此外,實際我在跑的時後,因為Date是一個月的資料 但是不知道為什麼這個code跑完會多出另一個一月份的最後一筆資料 EX: 2001/1/1 2001/1/2 . . . 2001/1/31 2000/12/31 <=就是這一筆@@ 麻煩各位了~~感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.217.76
wlsherica:12303篇試試看 05/19 20:30
wlsherica:注意一下變項名稱,不然會覆蓋 05/19 20:31
maumausam:merge 檔x 檔y (in = a) ; 應該有機會吧! 05/19 21:13
fine4313:我用了IN的方式去跑,不過跑出來只會出現其中一個月分而 05/19 22:23
fine4313:是因為變項名稱嗎? 要怎麼讓他可以同時跑出兩個月? 05/19 22:24
wlsherica:婀..不太懂,請問有例子嗎? 05/19 22:49
※ 編輯: fine4313 來自: 140.112.217.76 (05/19 23:12)
fine4313:我將例子編入文章了:) 05/19 23:13
wlsherica:這樣妳只會抓到第二個檔案的 05/19 23:15
wlsherica:merge dd(in=a) dd1(in=b); 試試看, 後面也要改 05/19 23:16
※ 編輯: fine4313 來自: 140.112.217.76 (05/19 23:19)
fine4313:2個皆改的結果還是一樣耶QQ 05/19 23:20
wlsherica:哎呀我懂你想做的事了! 我想一下 05/19 23:22
wlsherica:有沒有板友能提供其他的做法呢 05/20 10:25