作者jasonlian ()
看板Statistics
標題Re: [問題] SAS資料垂直合併
時間Tue Mar 17 14:47:31 2009
試試看以下小程式:
LIBNAME jdata 'c:\sas\data';
%MACRO repeat(dataset=, new_dataset=, repeat_time= );
%DO i =1 %TO &repeat_time;
DATA &dataset;
SET &dataset;
new_variable=&i;
RUN;
PROC APPEND BASE=&new_dataset& DATA=&dataset;
RUN;
%END;
RUN;
%MEND repeat;
DATA abc;
SET jdata.abc;
RUN;
%repeat(dataset=abc, new_dataset=new_abc, repeat_time=3)
RUN;
PROC PRINT DATA=new_abc;
RUN;
※ 引述《kllin (kllin)》之銘言:
: 借標題問
: 有一個檔
: DATA=work.a
: VAR_A VAR_B
: 1 aa 11
: 2 bb 22
: 3 cc 33
: 如果要只用一個DATA STATEMENT
: 做3個重覆的檔 但是要多加一個變項 像是
: VAR_A VAR_B VAR_C
: 1 aa 11 1
: 2 bb 22 1
: 3 cc 33 1
: 4 aa 11 2
: 5 bb 22 2
: 6 cc 33 2
: 7 aa 11 3
: 8 bb 22 3
: 9 cc 33 3
: 多加一個變項是VAR_C 依重覆的次序
: 要怎麼寫才好呀
: 我知道可以分開來寫 不過因為合併的不只是3個檔
: 不知道有沒有方法可以減少data statement所花的時間
: 謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.112.245
→ jasonlian:Sorry, 這行PROC APPEND BASE=&new_dataset& DATA=&data 03/17 14:50
→ jasonlian:中間的&是多的,手誤! 03/17 14:50
→ kingbee:我不曉得這樣能直接抓excel檔 還有 要宣告froce 03/17 15:43
→ kingbee:force 03/17 15:43
→ kingbee:不過偷減步的方法 libname倒是有用過 03/17 15:46
→ jasonlian:我這是讀sas的permanent dataset, 不是要讀excel檔, 03/17 17:29
→ jasonlian:如果要讀excel檔,改用import 即可 03/17 17:31
→ kingbee:原苦主是要用excel匯入的 03/18 15:32