SAS Programming

DATA Step, Macro, Functions and more
BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
bollurajkumar
Fluorite | Level 6

Hi
I have a data like this.

Data abc;
Input name $10. mail $20. Age 2.;
Infile datalines dlm='@';
abc@mas@gmail.com@12
Absh@auuaa@gmail.com@17
asaks@ajhsjk@gmail.com@18
;
Run;

I want output like this

name mail. age
abc mas@gmail.com 12
absh auuaa@gmail.com 17
asaks ajhsjk@gmail.com 18

Thanks in advance

1 ACCEPTED SOLUTION

Accepted Solutions
Kurt_Bremser
Super User

Read separately, and concatenate:

data abc;
infile datalines dlm='@';
input name :$10. mail :$64. _mail :$32. age;
mail = catx('@',mail,_mail);
drop _mail;
datalines;
abc@mas@gmail.com@12
Absh@auuaa@gmail.com@17
asaks@ajhsjk@gmail.com@18
;
run;

Note that using formats without a colon overrides the delimiters.

 

PS use proper subjects. "base sas" is much too unspecific.

View solution in original post

1 REPLY 1
Kurt_Bremser
Super User

Read separately, and concatenate:

data abc;
infile datalines dlm='@';
input name :$10. mail :$64. _mail :$32. age;
mail = catx('@',mail,_mail);
drop _mail;
datalines;
abc@mas@gmail.com@12
Absh@auuaa@gmail.com@17
asaks@ajhsjk@gmail.com@18
;
run;

Note that using formats without a colon overrides the delimiters.

 

PS use proper subjects. "base sas" is much too unspecific.

sas-innovate-wordmark-2025-midnight.png

Register Today!

Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9. Sign up by March 14 for just $795.


Register now!

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
  • 1 reply
  • 944 views
  • 0 likes
  • 2 in conversation