Поскольку вы хотите сгенерировать одно и то же значение для нового столбца для всех наблюдений группы, это хорошее место, чтобы использовать двойной цикл DOW.Первый цикл вычислит новый столбец, а второй перечитает данные и выведет результаты.
data want;
do until (last.gvkey);
set have;
by gvkey ;
length lender_set $200 ;
lender_set=catx('; ',lender_set,lender);
end;
do until (last.gvkey);
set have;
by gvkey ;
output;
end;
run;
Убедитесь, что вы определили LENDER_SET достаточно долго, чтобы сохранить возможные результаты.Также убедитесь, что он не существует во входном наборе данных.