Формат SAS загружен, но не может быть использован

#sas

#sas

Вопрос:

Я загрузил формат, и в моем журнале написано:

 NOTE: Format $DEPOSIT is already on the library WORK.FORMATS.
NOTE: Format $DEPOSIT has been output.
  

Но когда я его использую:

 D_SYS = PUT(SOURCE,$DEPOSIT.);
  

Я получаю:

 ERROR 48-59: The format DEPOSIT was not found or could not be loaded.
  

Комментарии:

1. Я подозреваю, что, возможно, конфликт символов и чисел. Можете ли вы показать полный журнал, демонстрирующий проблему, включая определения формата и значения SOURCE ?

Ответ №1:

Если вы попытаетесь применить символьный формат к числовому значению (и наоборот), SAS автоматически преобразует спецификацию формата в соответствии с данными, к которым вы его применяете.

Итак, вы создали символьный формат $DEPOSIT и пытаетесь применить его к числовой переменной SOURCE . Итак, в сообщении об ошибке говорится, что числовой формат DEPOSIT не существует.

Убедитесь, что ИСТОЧНИК переменной действительно существует. SAS создаст числовую переменную, если вы ссылаетесь на переменную, которая не существует. Если ваша переменная действительно числовая, вы можете заставить ее работать, если преобразуете исходный код в символьный, но обязательно преобразуйте числа в символьные строки, соответствующие ожидаемому формату.

 D_SYS = PUT(cats(SOURCE),$DEPOSIT.);