SAS中文论坛

标题: 请教一个等距切割数据集的问题! [打印本页]

作者: shiyiming    时间: 2010-1-5 10:29
标题: 请教一个等距切割数据集的问题!
小弟请教一个能等距切割数据集观测的程序 假设现在有一个观测为320的数据集 希望用宏程序实现自动按30为一个单位把数据集分为11个子数据集,其中最后一个为就为20个观测,谢谢各位大侠了
作者: shiyiming    时间: 2010-1-5 11:35
标题: Re: 请教一个等距切割数据集的问题!
[code:374f23j8]data a;
        do var=1 to 320;
                output;
        end;
run;

%macro temp(in_dsname,out_dsname,interval=30);
        %let dsid=%sysfunc(open(&in_dsname,i));
        %let nobs=%sysfunc(attrn(&dsid,nlobs));
        %let rc=%sysfunc(close(&dsid));
        %do i=0 %to %sysevalf(&nobs/&interval,floor);
                data b_%eval(&i+1);
                        set &in_dsname (firstobs=%eval(&i*&interval+1) obs=%eval((&i+1)*&interval));
                run;
        %end;
%mend;

%temp(a,b)[/code:374f23j8]
作者: shiyiming    时间: 2010-1-5 16:38
标题: Re: 请教一个等距切割数据集的问题!
真是太谢谢了 呵呵




欢迎光临 SAS中文论坛 (https://mysas.net/forum/) Powered by Discuz! X3.2