Вот один из возможных способов сделать это:
(сначала воссоздайте данные вашего примера для демонстрации:)
data list list/ SN (f1) ID1 to ID5 IE1 to IE5 (10a1).
begin data
1, "a", "b", "c", , , "d", "e", , ,
2, "b", "a", , "f", , "c", "k", , ,
end data.
Это ваши данные примера, теперь вы можете запустить следующий синтаксис, который даст ожидаемые вами результаты:
string K1 to K5 (a1).
vector K=K1 to K5.
compute #x=1.
do repeat id=ID1 to IE5.
do if id<>"".
compute K(#x)=id. /* correction made here .
compute #x=#x+1.
end if.
end repeat.