全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1481 1
2017-07-31
导入数据后,希望可以直接执行宏程序。希望是多个表导入,均执行相同的宏程序。
将宏程序%ahp_cal(matrix&i.,matrixs&i.)写入后,程序无法循环,执行完%ahp_cal(matrix1.,matrixs1)就停止了。
有没有大神给个好办法,如何在宏程序中执行宏程序的循环。
%macro import_file(num);
      %do i=1 %to &num %by 1;
         %let filename=sheet&i.;
         proc import datafile="&datafile"
             out=matrix&i dbms=excel replace;
             sheet=&filename.;
             getnames=yes;
        run;
         %ahp_cal(matrix&i.,matrixs&i.);*希望循环的宏程序;
      %end;
%mend import_file;
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2017-8-1 09:02:39
程序没有问题,由于调用的宏程序中哪个循环使用的&i,造成了无法进行循环。在导入宏程序中,将i=1 换成a=1 即可解决。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群