data have;
input n a ;
datalines;
1 0.1
2 0.2
3 0.3
4 0.4
5 0.5
6 0.6
7 0.7
8 0.8
9 0.9
10 1
11 1.1
12 1.2
13 1.3
14 1.4
15 1.5
;
%macro move_avg(var,num);
%let lagnum=%eval(&num-1);
(&var
%do i=1 %to &lagnum;
+lag&i(&var)
%end;
)/&num
%mend move_avg;
data wanted;
set have;
aa=%move_avg(a,5);
aaa=%move_avg(aa,5);
aaaa=%move_avg(aaa,5);
run;