Дата SAS конвертируется из цифры c в символ - PullRequest
0 голосов
/ 18 апреля 2020

У меня есть переменная SAS (столбец таблицы), которая имеет тип данных Number и формат YYMMDD10. Он имеет значение, например: 04/20/2019

. Я хочу преобразовать его в строку типа: 20190420. Поэтому я делаю:

new_date= Put( trim(orig_date), mmddyy10.);

Я получаю: The format $MMDDYY was not found or could not be loaded.

1 Ответ

0 голосов
/ 18 апреля 2020

Ваша основная ошибка - добавление ненужной функции TRIM ().

Вы не можете использовать функцию TRIM () для числовой переменной c. Вы можете, но это просто означает, что SAS автоматически преобразует число в строку, используя BEST12. формат. После того, как вы преобразовали данные в символьную строку, вы больше не можете использовать числовой формат c MMDDYY со значением. Таким образом, SAS предполагает, что вы только что оставили символ $ в начале названия своего формата символов. Однако он не может найти такой формат символов, поэтому вы получаете сообщение об ошибке.

Чтобы убедиться, что результат имеет sla sh вместо какого-либо другого разделителя, вы можете использовать формат MMDDYYS.

new_date= Put( orig_date , mmddyys10.);
...