Dear ,
By using the following code I need output for AESERN variable for observations 3 and 4 as Yes (1) and Yes (1,2). But my output is without space between the 'YES' and parenthesis. Please help in my code.
My output=Yes(1) and Yes(1,2)
data one;
input AESER $ AESDTH $ AESLIFE $ AESHOSP $ AESCONG $ AESDISAB $ AESMIE $ INFECDIS $;
datalines;
N N N N N N N N
Y N N N N N N N
Y Y N N N N N N
Y Y Y N N N N N
;
run;
data TWO;
length AESERN $20;
set one;
array AESP {7} $ AESDTH -- INFECDIS;
array POS {7} $1 ;
drop I POS:;
AESERN =ifc( AESER = 'N' , 'No', 'Yes');
if AESERN = 'Yes' and whichc('Y', of AESP[*]) then do;
do I = 1 to 7;
if AESP[I]='Y' then POS[I]=cat(I);
end;
AESERN = cats(AESERN, '(', catx(',', of POS[*]), ')');
end;
run;
cats remove leading and trailing blank, catt remove trailing blank. So, try this:
AESERN = catt(AESERN, ' (', catx(',', of POS[*]), ')');
Thank you very much
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.