Мне нужно преобразовать строку в формате ГГГГММДД в формат нумерации c ДАТА9 в SAS.
Я могу преобразовать строку в формат ГГГГММДД8, но сейчас не могу преобразовать ее в формат DATE9. Я подумал, что это будет просто вставить оператор формата для переменной и установить его как DATE9, поскольку он уже находится в числовом формате c, но при этом просто появляются звездочки.
I ' Я пытался воспроизвести пример кода. Набор данных date1 предоставляется. Я преобразовал его в ГГГГММДД8. согласно шагу 2. Это шаг 3, я не могу приступить к работе. Я пробовал принять решения, предоставленные ответами на подобные вопросы, но я не могу заставить его работать. Так что я могу делать что-то не так.
Короче говоря, мне нужна либо рабочая версия шага 3, либо упрощенный шаг 2, который преобразует строку в date9 за один шаг.
* STEP 1 - Provided;
data date1;
FORMAT file_date $8.;
file_date = '20191209';
run;
* Step 2 - Convert to YYYYMMDD8.;
PROC SQL;
CREATE TABLE date2 AS
SELECT INPUT(file_date,yyyymmdd8.) AS file_date2 FORMAT YYYYMMDD8.
FROM date1;
* Step 3 - Convert to DATE9. (Results in asterisks in place of the actual date);
DATA date3;
SET date2;
FORMAT file_date3 date9.;
file_date3 = file_date2;
RUN;