SAS中文论坛

标题: 想实现如下程序:但是有错误 [打印本页]

作者: shiyiming    时间: 2010-6-13 12:42
标题: 想实现如下程序:但是有错误
data basic_lead;
set lead1 basic1 lead2 basic2 lead3 basic3 lead4 basic4;
run;

但是上面的4是有 宏N控制的 所以必须用N替换

我是这样做的 但出错了

data basic_lead(drop=tvalue probt);
do i=1 to &N;
%let K=i;
%let K=&K;
set lead&K. basic&K.;
end;
run;
得到的不是lead1 而是leadi

请问该如何实现啊,谢谢
作者: shiyiming    时间: 2010-6-13 17:57
标题: Re: 想实现如下程序:但是有错误
[code:3ti9j38g]%macro ds_name;
        %local ds_name;
        %do i=1 %to &n;
                %let ds_name=&ds_name lead&i basic&i;
        %end;
        %let ds_name=&ds_name;
        &ds_name
%mend;
data basic_lead(drop=tvalue probt);
        set %ds_name;
run;[/code:3ti9j38g]

[code:3ti9j38g]data _null_;
        call execute('data basic_lead(drop=tvalue probt);set');
        do i=1 to &n;
                call execute(cat('lead',i,' ','basic',i));
        end;
        call execute(';run;');
run;[/code:3ti9j38g]




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