BookmarkSubscribeRSS Feed
marleeakerson
Calcite | Level 5

Hello, 

 

I am using this code:

data want;
infile "filepath"

delimiter = '|' 
MISSOVER 
DSD 
FIRSTOBS=2;
input 

ID $15.
Location_ID 9
Code 4
Date_Eff 8 
Date_Insert_Row 8
Date_Exp 8
Code_ID $9.
;

run; 

to infile data that looks like this:

ID|Location_ID|Code|Date_Eff|Date_Insert_Row|Date_Exp|Code_ID
100101160A |200010386|1|19920430|20200926|22991231|BR3209512
200001040A |200050045|1|19930630|20200926|22991231|AA8312693

 

but my output data looks like this:

marleeakerson_0-1603312554003.png

can someone help diagnosis this issue? it looks like the code isn't reading the delimiter properly? 

 

1 REPLY 1
Kurt_Bremser
Super User

Based on your data, your INPUT statement should look like this:

input 
  ID :$15.
  Location_ID :$9.
  Code :$1.
  Date_Eff :yymmdd8. 
  Date_Insert_Row :yymmdd8.
  Date_Exp :yymmdd8.
  Code_ID :$9.
;
format Date_Eff Date_Insert_Row Date_Exp :yymmdd10.;

Without the colon modifier, informats override the delimiters, because you then do what is called formatted input.

Dates should always be read as such, and codes as character