标题: 如何在data步中生成多个数据集,很多个 [打印本页] 作者: shiyiming 时间: 2010-6-2 21:45 标题: 如何在data步中生成多个数据集,很多个 data basic1 basic2 basic3 basic4;
set basic;
if _n_<=4 then output basic1;
else if _n_<=8 then output basic2;
else if _n_<=12 then output basic3;
else output basic4;
run;
另外如果有N个,N是一个参数,我该如何表示呢,
谢谢 求解答作者: shiyiming 时间: 2010-6-3 09:35 标题: Re: 如何在data步中生成多个数据集,很多个 %macro set;
%let n=100;
%do i =1 %to &n;
data basic&i;
set sashelp.class;
if 4*(&i-1) lt _n_ le 4*(&i) then output basic&i;
run;
%end;
%mend;
%set;
应该可以实现。作者: shiyiming 时间: 2010-6-3 20:54 标题: Re: 如何在data步中生成多个数据集,很多个 深受楼上的启发。殊途同归
[code:jvr46qnd]%let n=100;
%macro set_;
data %do i =1 %to &n; basic%sysfunc(putn(&i, z3.)) %end;;
set sashelp.class;
if (_n_ le 4*1) then output basic001;
%do i =2 %to &n;
else if (_n_ le 4*(&i)) then output basic%sysfunc(putn(&i, z3.));
%end;
run;
%mend set_;