Хотя этот поток уже мертв, я подумал, что смогу ответить и почему 14-разрядное преобразование стало в обозначении E.
Как правило, точнее, если не указано иное, числовые форматы в SAS используют BEST12формат.Таким образом, когда числовое значение длиннее 12 символов (включая запятые и точки), BEST12 выбирает нотацию E как лучший способ форматирования значения.
Функция ввода в этом случае получает отформатированное значениеположить (acctnum, BEST12.).Было бы 2 способа обойти это.
Либо используйте
input(put(acctnum, 14.), $20.);
, либо измените формат переменной с помощью оператора формата (непосредственно в шаге данных или с наборами данных proc, такими как) - это дает дополнительное преимущество: если вы откроете таблицу в SAS, вы увидите 14 цифр, а не научное форматированное значение.
proc datasets library=work nolist;
modify dsname;
format acctnum 14.;
run;
Vincent