D=INTNX('MONTH','01JAN1975'D,I-1);
EMa1_12=I;P=2*I;FORMAT D DATE9.;
OUTPUT;
END;
RUN;
PROC PRINT;RUN;
PROC SORT;
BY D;
RUN;
%macro ema(n1=);
data A ;
set A ;
leam1=lag(ema1_&n1);
if _n_ >1 then do;
ema1_&n1=(2*p+%eval(&n1-1)*leam1)/%eval(&n1+1);
/* output; */ /* 如果不想在结果数据集中显示第一条记录的话就解除注释 */
end;
drop leam1 ;
run;
%mend;