Sas input informat (неверный аргумент) - PullRequest
0 голосов
/ 07 апреля 2020

Как мне отформатировать эту дату от цифры к цифре c? Это возможно только в первом операторе ввода? Это шаг данных и ошибка


data new;
input a $;
cards;
01JAN1999
;
run;

data test;
set new;
a_format = input (a, date9.);
run;

NOTE: Invalid argument to function INPUT at line 82 column 12.
 a=01JAN199 a_format=. _ERROR_=1 _N_=1
 NOTE: Mathematical operations could not be performed at the following places. The results of the operations have been set to 
       missing values.

1 Ответ

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

Считайте значение даты непосредственно на первом шаге. Обязательно отформатируйте переменную так, чтобы значение было доступно для чтения человеком, когда такая процедура, как Proc PRINT выводит значение.

(Примечание: INFORMAT определяет, как последовательность символов должна быть проанализирована в базовое значение, а FORMAT определяет, как базовое значение отображается как последовательность символов сам журнал показывает вам a=01JAN199.

Укажите переменную длину с любым из них в DATA new, и функция INPUT() в DATA test будет работать:

LENGTH оператор перед оператором INPUT:

  • LENGTH A $9;
    INPUT a;

ATTRIB оператор перед INPUT:

  • ATTRIB A length=$9;
    INPUT a;

Получено из информации, указанной как часть оператора INPUT:

  • INPUT a $9.;
...