Вы используете FORMAT для преобразования значений в текст. Вы используете INFORMAT для преобразования текста в значения. Используйте FORMAT с операторами FORMAT и PUT и с функциями PUT () (и PUTN () и PUTC ()). Используйте INFORMATS с операторами INFORMAT и INPUT, а также с функциями INPUT () (и INPUTC () и INPUTN ()).
Если TIPDOC
является символьной строкой, используйте ИНФОРМАТ, по крайней мере, такой же ширины, как самое длинное значение, которое имеет переменная. Или, чтобы быть в безопасности, вы можете просто использовать максимальную ширину, разрешенную используемым информатом.
numberic_tipdoc = input(tipdoc,32.);
Если CODDOC
- это число, то вы можете использовать формат для отображения значения с начальными нулями. Или используйте функцию PUT()
для создания символьной переменной с форматированным значением.
format coddoc z8. ;
character_coddoc = put(coddoc, z8.);
Если преобразованное значение CODDOC отображается в виде периода, то оно имеет пропущенное значение. Именно так SAS отображает пропущенные числовые значения. Вы можете использовать опцию MISSING
, чтобы SAS отображал пропущенные значения, используя другой символ. Например, чтобы он отображался как пробел, используйте команду
options missing=' ';
перед использованием функции PUT () или распечатыванием значения другими методами.
Или вы можете просто выполнить тест программы, если отсутствует CODDOC
, а затем использовать другое значение для новой переменной.
character_coddoc = put(coddoc, z8.);
if missing(coddoc) then character_coddoc='missing';