写了 一段代码如下 ,我具体想干的就是先按条件生成一个大表 mo.Y_&ID ,然后再把这个表按条件拆开分别导出(这一步我想用宏内的循环来实现),现在想用宏一次实现完成这两步骤。但是,到了里面部分大表 mo.Y_&ID 生完后按条件分拆 ,编写宏循环的时候遇到困难过不去,求高手指点!!! 下面是我写的,高手可以直接修改。
%macro out(type=)
...............
data mo.Y_&ID ;
set XXXXX;
..........
run;
/*然后把mo.Y_&ID按条件拆开分别导出,这里我只举了三个作为例子*/
data
mo.X1_F18_25
mo.X2_F25_30
mo.X3_F30_35 ;
set mo.Y_&ID ;
if GNDAGE = "F/18<= <25" then output mo.X1_F18_25 ;
else if GNDAGE = "F/25<= <30" then output mo.X2_F25_30 ;
else if GNDAGE = "F/30<= <35" then output mo.X3_F30_35 ; run;
/*这里我想用一个宏循环逐个导出,但是不知道怎么写,下面是我瞎写的,请大侠看懂我意思修改*/
%let var1 = %X1_F18_25;
%let var2 = %X2_F25_30 ;
%let var3 = %X3_F30_35 ;
%do i = 1 %to 3;
PROC EXPORT DATA= mo.&varI
OUTFILE= "D:\kk\&varI.csv"
DBMS=CSV REPLACE;
RUN;
%end;
%mend;
%Out(type=XXX);
run;
求高手帮忙出主意!