У меня есть переменная с именем ID на наборе данных OLD, и мне нужно изменить длину от 13 до 12 для слияния. Ниже приведены метаданные, связанные с этой переменной.Изменение переменной длины без получения предупреждения
Variable Type Len Format Informat Label
ID Char 13 $12. $12. 'Person ID'
(Содержание каждого значения для ID всегда ровно 12 символов в этом файле)
Когда я пытаюсь изменить длину до заданного оператора в шаге DATA, я получаю предупреждение. То же самое происходит, когда я редактирую как длину, так и формат.
data NEW;
length ID $12;
format ID $12.;
set OLD;
run;
...
WARNING: Multiple lengths were specified for the variable AN_RESEARCHID by
input data set(s). This can cause truncation of data.
Примеры из форумов сообщества SAS, похоже, не описывают причину возникновения этого предупреждения или как его избежать. Есть предположения?
Вы также должны выяснить, почему у вас есть переменная с длиной $ 13, но который имеет формат 12 $. и информацию в размере 12 долларов США. постоянно прикрепленный к нему. Возможно ли, что 13-й символ не пуст, но что вы просто не видите значения из-за формата, который прилагается? – Tom
Спасибо за совет. Том. Я подтвердил, что 13-й символ действительно пуст - похоже, что человек, который генерировал случайные идентификаторы в восходящей программе, задал длину, большую, чем цифры целого числа, которое они назначили. – JMQ