I have a long ID number (say, 12184447992012111111). BY using proc import from csv file that number shortens itself with a addition of ‘E’ in between the digits (1.2184448E19, with format best12. and informat best32.). Browsing here I got to know the csv format itself shortens it previously so it is nothing to do with SAS. So I tried to copy say about 5 numbers and use datalines statement then also it results same…. It wil be helpful if anyone can suggest which format I need to use. Using best32. format I donot get the original number since most probably it modifies that altered number, which infact gives me 12184447992012111872 which is not my desired number.
I have a long ID number (say, 12184447992012111111). BY using proc import from csv
Share
Because your ID variable is really an identifier rather than a “real” number, you need to read it in as a character string. The value you show as an example is too large to be represented as an integer, so since SAS stores all numerics as floating point, you are losing “precision”.
Since you mention using PROC IMPORT, copy the SAS program it generates and change the FORMAT and INFORMAT specifications from “21.” and “best32.” to “$32.” (or whatever value matched your data.
Best of course would be if you had SAS Access to PC File formats, in which case you cound format the column as “text” in Excel and let SAS read it directly.