如题,鄙人想使用宏来完成下面的任务 这里面的“1”代表鄙人想使用宏“do i=1 %to n …………&i”这样的语句完成的任务
不知道如何设计这个宏呢?谢谢
proc means data=q.mix1 mean noprint;
var ret rownum mv lvalue;
output out=q.c1 mean= /autoname;
run;
data q.d1(drop=_type_ mv_mean lvalue_mean rownum_mean);
set q.c1;
rownum=rownum_mean;
summv=_Freq_*mv_mean;
sumlvalue=_Freq_*lvalue_mean;
run;
proc sort data=q.b1;
by rownum;
run;
proc sort data=q.d1;
by rownum;
run;
data q.e1;
merge q.b1 q.d1;
by rownum;
run;
data q.f1;
set q.e1;
wtvret=mv/summv*ret;
wtlvret=lvalue/sumlvalue*ret;
run;
proc means data=q.f1 mean noprint;
var wtvret wtlvret rownum;
output out=q.g1 mean= /autoname;
run;
data q.h1(drop=_type_ wtvret_mean wtlvret_mean rownum_mean);
set q.g1;
rownum=rownum_mean;
wtmv=_Freq_*wtvret_mean;
wtlvalue=_Freq_*wtlvret_mean;
run;
data q.i1;
merge q.d1 q.h1;
by rownum;
drop summv sumlvalue;
run;
O(∩_∩)O谢谢