BookmarkSubscribeRSS Feed
paddyb
Quartz | Level 8
if aesdth='Y' then do; aereas1="D";flag=1;end ;
if aeshosp='Y' then do; aereas2="RPH";flag=1;end;
if aesdisab='Y' then do; aereas3="PSDI";flag=1;end;
if aeslife='Y' then do;aereas4="LT";flag=1;end;
if aesmie='Y' then do; aereas5="OMI";flag=1;end;
if aescong='Y' then do; aereas6="CA";flag=1;end;
if astserfl='Y' then do;aereas7="AST";flag=1;end;
if (aesdth='Y' or aeshosp='Y' or aesdisab='Y' or aeslife='Y' or aesmie='Y'or aescong='Y' or astserfl='Y') then
newvar=catx(',', aereas1,aereas2) 
 
 

i have to concatenate the values where its 'y' .any suggestions how to do this.with above code its not working.

for example if aesmie=y then newvar will have value of 'OMI' if 3 variavles (aesmie,aescong,astserfl)are 'Y' then (newvar=OMI,CA,AST)concatenate that variable values

2 REPLIES 2
novinosrin
Tourmaline | Level 20

Can you please provide the community with an INPUT sample data, an OUTPUT(wanted) sample data and your requirement/logic?

Astounding
PROC Star

If I understand the question correctly, the formula should be:

 

.........   then newvar = catx(',', of aereas1-aereas7);

 

How to Concatenate Values

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 2 replies
  • 1239 views
  • 0 likes
  • 3 in conversation