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

 

data money;
infile datalines dlm='@';
input Name $ Salary DOLLAR12.2 Bonus DOLLAR12.2 Age;
datalines;
Harry@$50,000.00@$3,500.00@45
Larry@$30,000.00@$10,500.00@55
Jerry@$1,000,000.00@$100,500.00@21
;

proc print data = money;
run;
proc contents data=money;
run;

So I was running the above code and was expecting the '@' symbol to act as a delimiter, however that doesn't seem to be the case. Can someone help me UNDERSTAND what's wrong? Just to note, I'm just experimenting with SAS to get better at it. The output I get is below: 

Obs	Name	Salary	Bonus	Age
1	Harry	.	.	.
2	Larry	.	.	.
3	Jerry	1000000	.	0

Thanks much!!

1 ACCEPTED SOLUTION

Accepted Solutions
PGStats
Opal | Level 21

All you need is mixed input style

 

data money;
infile datalines dlm='@';
input Name $ Salary :DOLLAR12.2 Bonus :DOLLAR12.2 Age;
datalines;
Harry@$50,000.00@$3,500.00@45
Larry@$30,000.00@$10,500.00@55
Jerry@$1,000,000.00@$100,500.00@21
;

proc print data = money;
run;

when you prefix the informat with colon, the character field is extracted before the informat is applied.

PG

View solution in original post

2 REPLIES 2
PGStats
Opal | Level 21

All you need is mixed input style

 

data money;
infile datalines dlm='@';
input Name $ Salary :DOLLAR12.2 Bonus :DOLLAR12.2 Age;
datalines;
Harry@$50,000.00@$3,500.00@45
Larry@$30,000.00@$10,500.00@55
Jerry@$1,000,000.00@$100,500.00@21
;

proc print data = money;
run;

when you prefix the informat with colon, the character field is extracted before the informat is applied.

PG
Durlov
Obsidian | Level 7

Oh! Thanks! It's working as expected now.

hackathon24-white-horiz.png

2025 SAS Hackathon: There is still time!

Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!

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
  • 2 replies
  • 1219 views
  • 0 likes
  • 2 in conversation