DATA Step, Macro, Functions and more

Input function in SAS

Accepted Solution Solved
Reply
Contributor
Posts: 48
Accepted Solution

Input function in SAS

I want to check the output of using the input funcion, the following is my codes:

DATA a;
INPUT s ;
s2=input(s,3.0);
DATALINES;
5
6
001
2.3
;
RUN;

it returns a missing value for s2. I can't find the error in my codes, could anyone help me?

2016-08-28_115640.png

 

 

 

 

 

 

 

 


Accepted Solutions
Solution
‎08-28-2016 03:15 PM
Super User
Posts: 5,081

Re: Input function in SAS

Jim identified the right issue.  To make S a character variable, you could try:

 

input s $;

 

Then just as a learning experience, I would suggest you add to the program and also test:

 

s3 = input(s, 3.1);

View solution in original post


All Replies
Frequent Contributor
Posts: 83

Re: Input function in SAS

Line 2 of your code:   Input s ;    Makes s a numeric variable.

 

Try on line 3     s2 = put(s,3.0);   * converts s (numeric) to a character variable s2

 

Jim

Solution
‎08-28-2016 03:15 PM
Super User
Posts: 5,081

Re: Input function in SAS

Jim identified the right issue.  To make S a character variable, you could try:

 

input s $;

 

Then just as a learning experience, I would suggest you add to the program and also test:

 

s3 = input(s, 3.1);

Super User
Super User
Posts: 6,499

Re: Input function in SAS

Because you are referencing a numeric variable where SAS expects a character value it is automatically converting the number into a character string for you.  It will use the BEST12. format to do this. So your when you read only the first three characters using 3.0 informat your will be reading only the leading spaces of the right aligned 12 character values.

☑ This topic is SOLVED.

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

Discussion stats
  • 3 replies
  • 289 views
  • 4 likes
  • 4 in conversation