看板 Statistics 關於我們 聯絡資訊
%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
sinami:variable was not found on BASE file. The variable will 08/25 12:15
sinami:not be added to the BASE file. 08/25 12:16
sinami:還是十分感謝 :) 08/25 12:17
tew:那就表示你的檔案有一些變項是不一樣的 08/25 17:29