BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
LL5
Pyrite | Level 9 LL5
Pyrite | Level 9

Hi, I have names in my table that have the first and last name format. I need to convert the format to first initial follow by dot then last name. 

For example, Sandy Chint would be S.Chint, Kathy Kumarxy would be K.Kumarxy, and Thomas P Magliu would be T.Magliu 

These names have first and last name format, as well as middle name/initial between first and last name. How to do this in prxchange or is there a better way to do it? Below is some examples. Thanks.

data ReversedNames;
   input name $32.;
   datalines;
Sandy Chint
Kathy Kumarxy
Bobby Smith
Jason McDonald
Annie Avor
Thomas P Magliu
Joan Smith Korcos
;
run;

 

1 ACCEPTED SOLUTION

Accepted Solutions
PeterClemmensen
Tourmaline | Level 20

How about

 

data ReversedNames;
   input name $32.;
   datalines;
Sandy Chint
Kathy Kumarxy
Bobby Smith
Jason McDonald
Annie Avor
Thomas P Magliu
Joan Smith Korcos
;
run;

data want;
   set ReversedNames;
   newname = cat(char(name, 1), '. ', scan(name, -1));
run;

View solution in original post

2 REPLIES 2
PeterClemmensen
Tourmaline | Level 20

How about

 

data ReversedNames;
   input name $32.;
   datalines;
Sandy Chint
Kathy Kumarxy
Bobby Smith
Jason McDonald
Annie Avor
Thomas P Magliu
Joan Smith Korcos
;
run;

data want;
   set ReversedNames;
   newname = cat(char(name, 1), '. ', scan(name, -1));
run;
Kurt_Bremser
Super User

I prefer the common string functions for this rather simple task:

data want;
set reversednames;
name = catx(".",substr(name,1,1),scan(name,-1));
run;

@LL5 wrote:

Hi, I have names in my table that have the first and last name format. I need to convert the format to first initial follow by dot then last name. 

For example, Sandy Chint would be S.Chint, Kathy Kumarxy would be K.Kumarxy, and Thomas P Magliu would be T.Magliu 

These names have first and last name format, as well as middle name/initial between first and last name. How to do this in prxchange or is there a better way to do it? Below is some examples. Thanks.

data ReversedNames;
   input name $32.;
   datalines;
Sandy Chint
Kathy Kumarxy
Bobby Smith
Jason McDonald
Annie Avor
Thomas P Magliu
Joan Smith Korcos
;
run;

 


 

SAS Innovate 2025: Save the Date

 SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!

Save the date!

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
  • 1297 views
  • 2 likes
  • 3 in conversation