Вам не нужен макрос, и вы не знаете, зачем вам нужен временный массив L
.
Оператор массива может использоваться для организации переменных, чтобы к ним можно было обращаться массивом. Цикл по массиву переменных, чтобы скопировать значения во временный массив.
Элементы временного массива недоступны для вывода, а не часть нормального поведения неявного вектора программных данных (PDV), которое приводит к сбросу переменных в отсутствующие.
data want;
set have;
array V varr1-varr3;
array L[3] _temporary_;
* save first rows values in temporary array for use in other rows;
if _n_ = 1 then
do index = 1 to dim(V);
L[index] = V[index];
end;
* … for example … ;
array delta_from_1st [3]; * array statement implicitly creates three new variables that become part of PDV and get output;
do index = 1 to dim(V);
delta_from_1st[index] = V[index] - L[index];
end;
run;