Попробуйте: это дает положение в диапазоне последней непропущенной переменной.Переходите от последнего к первому элементу массива, проверяйте, не пропал ли он.Сохранить позицию и выйти из цикла, если он не пропал.
data a;
array a(*) a1 - a5;
a1=1 ;a3=2;
do i=dim(a) to 1 by -1;
if not missing(a{i}) then do;
Last_not_missing=i;
leave;
end;
end;
drop i;
run;