This seems to work for me.
data test;
input HOSPSTCO $ ;
cards;
23000
33000
02124
34002
55343
;
run;
proc format;
invalue $ FIPS
'23', '33', '50', '25', '44', '09' = 1
'36', '42', '34' = 2
'55', '26', '17', '18', '39' = 3
'29', '38', '46', '31', '20', '27', '19' = 4
'10', '24', '11', '51', '54', '37', '45', '13', '12' = 5
'21', '47', '28', '01' = 6
'40', '48', '05', '22' = 7
'16', '30', '56', '32', '49', '08', '04', '35' = 8
'02', '53', '41', '06', '15' = 9
;
run;
data test2;
set test;
HOSP_DIVISION = input(substr(HOSPSTCO, 1, 2) , $FIPS.);
HOSP_DIVISION2 = input(HOSPSTCO, $FIPS2.);
run;
... View more