Help using Base SAS procedures

Concatenation with put statement

Accepted Solution Solved
Reply
Regular Contributor
Posts: 215
Accepted Solution

Concatenation with put statement

Can someone tell me how do I insert 5 spaces between last name and first name?

 

line1 = CAT(put(Student_ID, 7.), put(Last_Name, 5.), put(First_Name, 3.));

 

Expected Output

 

123456 JHANG     Will       

1234658MICHA     Don

 

Thanks,


Accepted Solutions
Solution
‎05-26-2016 11:45 AM
Frequent Contributor
Posts: 102

Re: Concatenation with put statement

[ Edited ]

line1 = CAT(put(Student_ID, 7.), put(Last_Name, 5.), '     ', put(First_Name, 3.));

but you can't fit 'Will' into three characters of the first name...

View solution in original post


All Replies
Solution
‎05-26-2016 11:45 AM
Frequent Contributor
Posts: 102

Re: Concatenation with put statement

[ Edited ]

line1 = CAT(put(Student_ID, 7.), put(Last_Name, 5.), '     ', put(First_Name, 3.));

but you can't fit 'Will' into three characters of the first name...

Super User
Posts: 10,483

Re: Concatenation with put statement

line1 = CAT(put(Student_ID, 7.), put(Last_Name, $5.), '     ', put(First_Name, $3.));

or

line1 = CAT(put(Student_ID, 7.),substr(Last_Name,1, 5), '     ', substr(First_Name, 1, 3))

 

And if I were writing directly to listing output or a text file would consider

put student_d @8 Last_name $5. @13 First_name $3.;

Super User
Posts: 5,256

Re: Concatenation with put statement

You can't (espacially by using numerical format) and there is no need to use put() function on character values.
Why do you want to concatenate those in the first place?
Data never sleeps
☑ This topic is SOLVED.

Need further help from the community? Please ask a new question.

Discussion stats
  • 3 replies
  • 312 views
  • 2 likes
  • 4 in conversation