Hey Rick!, Im a weekly reader of your blog,
Here's another solution,
Thank you,

proc iml;
x=1:5;
start RunningVar(_x);
x=rowvec(_x);
mean=cusum(x)/(1:ncol(x));
A=row(i(ncol(x)))>=col(i(ncol(x)));
return(((A#x-A#mean`)##2)[,+]/((1:ncol(x))-1)`);
finish;
y=RunningVar(x);
print y;
quit;