SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 618|回复: 1
打印 上一主题 下一主题

想实现如下程序:但是有错误

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2010-6-13 12:42:08 | 只看该作者

想实现如下程序:但是有错误

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

请问该如何实现啊,谢谢
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2010-6-13 17:57:19 | 只看该作者

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]
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|SAS中文论坛  

GMT+8, 2026-2-4 04:57 , Processed in 0.066300 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表