Hi!
I am trying to convert a character format SSN to a numeric and keep the leading zeros. I keep getting the error
ERROR 48-59: The informat Z was not found or could not be loaded for different ways I have tried to run the syntax.
data ssn_test;
set have;
sponssn1=input (sponssn, z9.);
run;
Appreciate any help!
Thanks
Input function requires an informat, not a format like z9. You don't need a special informat to read a number with leading zeros. What you need is to associate the format z9. to your variable, so that leading zeros are displayed when you print the number. Try something like this:
data ssn_test;
set have;
sponssn1 = input (sponssn, best.);
format sponssn1 z9.;
run;
Input function requires an informat, not a format like z9. You don't need a special informat to read a number with leading zeros. What you need is to associate the format z9. to your variable, so that leading zeros are displayed when you print the number. Try something like this:
data ssn_test;
set have;
sponssn1 = input (sponssn, best.);
format sponssn1 z9.;
run;
First, verify that your SSN do not have - or spaces imbedded.
Then use a different informat, the Z informats are for zoned decimals and that is not what you want. BEST9. should work for input. Then assign either a Z9. FORMAT to see leading zeroes or possibly the SSN format which will display
data example;
sponssn= '000123456';
sponssn1 = input(sponssn,best9.);
put "Display with Z9.: " sponssn1= z9. +1 "Display with SSN11.: " sponssn1= ssn11.;
run;
Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
Register now!
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.