Hello, Here is an alternate solution.. data have;
input Enrolid Index_Therapy $40.;
datalines;
114101 Sorafenib,Sorafenib,Sorafenib,Erlotinib
2086103 Sorafenib,Sorafenib,Sorafenib
102950901 Sorafenib,Sorafenib
117102901 Sorafenib,Radio,Radio
;
run;
DATA HAVE1;
SET HAVE;
DO I=1 TO COUNT(Index_Therapy,',')+1;
Index_Therapy_=SCAN(Index_Therapy,I,',');
OUTPUT;
END;
DROP I Index_Therapy;
RUN;
PROC SORT DATA=HAVE1 OUT=HAVE2 NODUP;
BY Enrolid Index_Therapy_;
RUN;
DATA WANT;
SET HAVE2;
BY Enrolid Index_Therapy_;
RETAIN Index_Therapy;
IF FIRST.Enrolid THEN Index_Therapy=Index_Therapy_;
ELSE Index_Therapy=CATX(',',Index_Therapy,Index_Therapy_);
IF LAST.Enrolid ;
DROP Index_Therapy_;
RUN;
Thanks..
... View more