Используйте функцию CATX()
для объединения переменных; с помощью этой функции у вас есть возможность указать символ-разделитель для использования между значениями. Ex. CATX(',',VAR2,VAR3,VAR4)
Входные данные:
data have;
input NAME $ VAR2 $ VAR3 $ VAR4 $ VAR5;
datalines;
ABC X Y . 2
DEF P Q R 3
GHI L . . 1
;
run;
Решение:
data want;
set have;
NewVar= catx(',',VAR2,VAR3,VAR4);
run;
или
%let list=VAR2,VAR3,VAR4;
data want2;
set have;
NewVar= catx(',',&list.);
run;
или (рекомендация Тома)
data want3;
set have;
NewVar= catx(',',of var2-var4);
run;
Выход:
NAME=ABC VAR2=X VAR3=Y VAR4= VAR5=2 NewVar=X,Y
NAME=DEF VAR2=P VAR3=Q VAR4=R VAR5=3 NewVar=P,Q,R
NAME=GHI VAR2=L VAR3= VAR4= VAR5=1 NewVar=L