DATA Step, Macro, Functions and more

Input two date variables into a data set

Accepted Solution Solved
Reply
Contributor
Posts: 20
Accepted Solution

Input two date variables into a data set

[ Edited ]

Hi!

I do not understand why my second column does not read as date.

 

data test;
input  date_one date9. date_two date9. ;
datalines;
10Jan2000 20Mar2010
;
run;

As I am new to SAS, please help me.

 

 

Thanks in advance


Accepted Solutions
Solution
‎05-08-2018 03:28 AM
Super User
Posts: 2,037

Re: Input two date variables into a data set

Posted in reply to Myurathan

Corrected code:

data test;
input  date_one : date9. date_two : date9. ;
format  date_one date_two  date9. ;
datalines;
10Jan2000 20Mar2010
;
run;

View solution in original post


All Replies
Solution
‎05-08-2018 03:28 AM
Super User
Posts: 2,037

Re: Input two date variables into a data set

Posted in reply to Myurathan

Corrected code:

data test;
input  date_one : date9. date_two : date9. ;
format  date_one date_two  date9. ;
datalines;
10Jan2000 20Mar2010
;
run;
Super User
Posts: 2,037

Re: Input two date variables into a data set

Posted in reply to novinosrin

/*Or*/

data test;
informat date_one date_two date9.;
input  date_one date_two ;
format  date_one date_two  date9. ;
datalines;
10Jan2000 20Mar2010
;
run;
Super User
Posts: 13,868

Re: Input two date variables into a data set

Posted in reply to Myurathan

@Myurathan wrote:

Hi!

I do not understand why my second column does not read as date.

 

data test;
input  date_one date9. date_two date9. ;
datalines;
10Jan2000 20Mar2010
;
run;

As I am new to SAS, please help me.

 

 

Thanks in advance


Look very closely at your input statement and @novinosrin's .

Then take a look at the result here:

data test;
input  date_one date9. date_two date9. ;
format date_one date_two date9.;
datalines;
10Jan200020Mar2010
;
run;

The form of input statement you used is for fixed column input. So it was reading the blank after the first value as the first character of the next field, with the resulting 9 characters read being " 20mar201" which is not a valid date value. The : modifies the informat to skip blanks on input.

 

☑ This topic is solved.

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

Discussion stats
  • 3 replies
  • 113 views
  • 2 likes
  • 3 in conversation