全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2168 2
2018-01-04
假如我有8个数据集,A1 A3 A4 A6 A7 A8 A9 10,在宏中用了循环%do i = 1 %to 10;data步中Set不到A2 ,A5,但是也会产生新的空的数据集A2,A5. 有没有什么方法在开始就判断A2,A5是否存在,不存在就跳过,存在就处理data步。

二维码

扫码加我 拉你入群

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

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

全部回复
2018-1-4 14:25:22
/*用宏程序test建立数据集a1-a10*/
%macro test;
   %do i=1 %to 10;
      data a&i;
      x=&i;
      run;
   %end;
%mend;
%test

/*删除数据集a2和a5*/
proc datasets lib=work noprint;
   delete a2 a5;
run;
quit;

/*用宏程序want完成相关操作*/
%macro want;
   %do i=1 %to 10;
      %if %sysfunc(exist(a&i)) %then %do;/*判断数据集是否存在*/
         data b&i;
         set a&i;
         run;
      %end;
   %end;
%mend;
%want
二维码

扫码加我 拉你入群

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

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

2018-1-9 18:20:21
楼上正解
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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