作者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
1F:→ jasonlian:Sorry, 这行PROC APPEND BASE=&new_dataset& DATA=&data 03/17 14:50
2F:→ jasonlian:中间的&是多的,手误! 03/17 14:50
3F:→ kingbee:我不晓得这样能直接抓excel档 还有 要宣告froce 03/17 15:43
4F:→ kingbee:force 03/17 15:43
5F:→ kingbee:不过偷减步的方法 libname倒是有用过 03/17 15:46
6F:→ jasonlian:我这是读sas的permanent dataset, 不是要读excel档, 03/17 17:29
7F:→ jasonlian:如果要读excel档,改用import 即可 03/17 17:31
8F:→ kingbee:原苦主是要用excel汇入的 03/18 15:32