Re: [程式] SAS用macro垂直合併多個檔案

看板Statistics作者 (咖啡王子)時間12年前 (2011/08/24 23:17), 編輯推噓1(103)
留言4則, 2人參與, 最新討論串2/2 (看更多)
%macro a; %do i=1990 %to 2009; proc import datafile="路徑\data&i..xls" out=a replace; quit; proc append base=final data=a force; quit; %end; %mend; %a; 收工 ※ 引述《sinami (天空爆炸)》之銘言: : [程式問題]: 資料處理 : [軟體熟悉度]: 低(1~3個月) : [問題敘述]: 有20個不同年份的excel檔案 : (檔案命名有規律,為Data1990, Data1991,...,Data2009這種) : 每個excel只有一張sheet1,要透過macro用SET來垂直合併這20個sheet1, : 裡面的變數項目都一樣 : 圖例: (這是Data1990的sheet1表) : A1 A2 A3 A4 A5 Yr : ABC 1990 : ABD 1990 : ABE 1990 : (這是Data1991的sheet1表) : A1 A2 A3 A4 A5 Yr : ABC 1991 : ABD 1991 : ABE 1991 : (想合併成以下這樣的一個檔案) : A1 A2 A3 A4 A5 Yr : ABC 1990 : ABD 1990 : ABE 1990 : ABC 1991 : ABD 1991 : ABE 1991 : . . : . . : . . : ABC 2009 : ABD 2009 : ABE 2009 : 想請問若要用macro及set寫,是否有較簡潔的寫法? : 一定要把檔案都先讀進來,才能一個一個作合併嗎? : 或者可一次到位,能直接用macro寫讀取+合併,最後只建立一個資料檔? : 懇請版友賜教!!! -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.80.161.160

08/25 12:15, , 1F
variable was not found on BASE file. The variable will
08/25 12:15, 1F

08/25 12:16, , 2F
not be added to the BASE file.
08/25 12:16, 2F

08/25 12:17, , 3F
還是十分感謝 :)
08/25 12:17, 3F

08/25 17:29, , 4F
那就表示你的檔案有一些變項是不一樣的
08/25 17:29, 4F
文章代碼(AID): #1ELHNpln (Statistics)
文章代碼(AID): #1ELHNpln (Statistics)