Привет, мне было интересно, как бы вы написали этот код в PROC SQL
против data step
, который я написал ниже. Я пытаюсь уменьшить код, данные изначально находятся в текстовом файле, к сожалению, время datetime, когда оно было изменено на CHAR
(мастер импорта), представляет собой длину 9 vs 8 (вычисляемый столбец), которая является значением по умолчанию, поэтому я меняю ее на первый шаг данных. В конечном итоге я получаю результаты, которые хочу получить, но я хотел бы узнать, может ли SQL предоставить более эффективное решение.SAS Datetime Proc SQL
data WORK.CNE_RESI;
SET WORK.cneres_41;
FORMAT RPTDATE_2 $CHAR9.;
IF rptdate = '1/5/2015' THEN RPTDATE_2 = '1/9/2015';
ELSE IF RPTDATE_2 = "" THEN RPTDATE_2=rptdate ;
RUN;
data WORK.CNE_RESI_2;
SET WORK.CNE_RESI;
FORMAT RPTDATE_3 MMDDYY10.;
RPTDATE = input(RPTDATE_2, MMDDYY10.);
RUN;
Я бы исправить импорт из текстового файла первого и я предполагаю, что вы нуждались бы в CHAR10, 12/31/2015 бы 10 символов? В любом случае вы должны импортировать его непосредственно в качестве значения даты. – Reeza
Является ли RPTDATE_2 новой переменной или она уже существует в наборе данных cneres_41? –