DATA Step, Macro, Functions and more

How to include a blank space in my output

Reply
Super Contributor
Posts: 270

How to include a blank space in my output

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;

SAS Super FREQ
Posts: 8,740

Re: How to include a blank space in my output

Hi,
I suggest you look up the way that the CATS and CATX functions work. Specificatlly, for CATS, which is your outer function call. CATS will strip both leading and trailing blanks from the string being generated. You might want to investigate other functions. For example, the simple CAT function, which operates differently than CATS.

cynthia
Super Contributor
Posts: 275

Re: How to include a blank space in my output

cats remove leading and trailing blank, catt remove trailing blank. So, try this:

 

AESERN = catt(AESERN, ' (', catx(',', of POS[*]), ')');

Super Contributor
Posts: 270

Re: How to include a blank space in my output

Thank you very much

Ask a Question
Discussion stats
  • 3 replies
  • 205 views
  • 2 likes
  • 3 in conversation