Home > Back-end >  SAS - how can I read in date data?
SAS - how can I read in date data?

Time:10-14

I am trying to read in some data in date format and the solution is eluding me. Here are four of my tries using the simplest self-contained examples I could devise. (And the site is making me boost my text-to-code ratio in order for this to post, so please ignore this sentence).

*EDIT - my example was too simplistic. I have spaces in my variables, so I do need to specify positions (the original answer said to ignore positions entirely). The solution below works, but the date variable is not a date.

data clinical;
input
name $ 1-13
visit_date $ 14-23  
group $ 25
;
datalines;
John Turner  03/12/1998 D
Mary Jones   04/15/2008 P
Joe Sims     11/30/2009 J
;
run;

CodePudding user response:

No need to specify the lengths. datalines already assumes space-delimited values. A simple way to specify an informat is to use a : after each input variable.

data clinical;
    input ID$ visit_date:mmddyy10. group$;
    format visit_date mmddyy10.; * Make the date look human-readable;
    datalines;
01 03/12/1998 D
02 04/15/2008 P
03 11/30/2009 J
;
run;

Output:

ID  visit_date  group
01  03/12/1998  D
02  04/15/2008  P
03  11/30/2009  J

CodePudding user response:

A friend of mine suggested this, but it seems odd to have to switch syntax markedly depending on whether the variable is a date or not.

data clinical; 
input
name $ 1-12
@13 visit_date MMDDYY10.
group $ 25 ;
datalines;
John Turner 03/12/1998 D
Mary Jones  04/15/2008 P
Joe Sims    11/30/2009 J
;
run;
  • Related