看板 Statistics 關於我們 聯絡資訊
------------------------------------------------------------------------ [軟體程式類別]: SAS [程式問題]: 合併資料 [軟體熟悉度]: 新手(不到1個月) [問題敘述]: 大家好 我想要合併兩個EXCEL檔案 這兩個檔案都有date lacation grade 三個項目 其中aa有sales bb則是price 我有辦法利用那三個共同的項目去篩選出同一天 同一地點 同個grade 的sales跟price嗎 比如說 aa檔是 Location Date Grade Sales 118 7/15 Diesel 2000.00 113 7/15 Premium 100.00 9 7/15 Diesel 300.00 6 7/16 Premium 105.00 bb檔是 Location Date Grade Price 113 7/15 Premium 2.50 118 7/15 Diesel 2.78 6 7/16 Premium 2.61 12 7/16 Unleaded 2.30 然後我要的結果大概是 Location Date Grade Sales Price 118 7/15 Diesel 2000.00 2.78 113 7/15 Premium 100.00 2.50 9 7/15 Diesel 300.00 N/A 6 7/16 Premium 105.00 2.61 12 7/16 Unleaded N/A 2.30 因為兩個檔案都約有20000多筆資料 分別有缺漏 我用了merge也沒辦法 想知道SAS有沒有這種code能辦到 [程式範例]: 我現在是用這樣 proc import datafile="C:\Users\user\Desktop\FBS.csv" out=aa; run; proc import datafile="C:\Users\user\Desktop\FB.csv" out=bb; run; proc sort data=aa; by Date ; run; proc sort data=bb; by Date; run; data cc; merge bb aa(rename=(Grade=gra1 Location=loct1)); by Date Location; proc print; run 但是因為資料量不同好像根本無法這樣merge 請問有高手知道該怎麼辦嗎 謝謝 ----------------------------------------------------------------------------- -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 75.111.129.180 ※ 文章網址: https://www.ptt.cc/bbs/Statistics/M.1425962907.A.586.html
methylin: 兩檔案分別創造一新變數 id=compress(location||date||g 03/10 15:00
methylin: rade),然後依新變數merge檔案? 03/10 15:00
LittleMore: proc sql; 03/10 20:12
LittleMore: create table AABB as select a.*,b.* 03/10 20:13
LittleMore: from AA a left join BB b 03/10 20:13
LittleMore: on a.date=b.date and a.location=b.location 03/10 20:13
LittleMore: and a.grade=b.grade 03/10 20:13
LittleMore: order by Date; 03/10 20:14
LittleMore: quit 03/10 20:14
LittleMore: 太多筆數 要測試 可以縮小筆數再測試 例如~~ 03/10 20:15
LittleMore: data aa; set aa; if _n_<=3;run; 抓出三筆 03/10 20:16
bluegates: 謝謝 我來試試看 03/10 22:23
llssdog: 印象中用merge by,都要先sort,你location也要sort 03/12 13:36
llssdog: 如果像你舉例的location在兩個檔裡面數目不一樣 03/12 13:41
llssdog: 這樣合併會有遺漏吧?要先有一個所有date跟location的檔 03/12 13:42