Мне нужно ввести даты в формате ГГГГММДД и создать из этих дат макропеременные для использования в предложении WHERE. ФИНАЛЬНЫЙ набор данных должен выбрать одну запись из Sales, но возвращается 0 наблюдений.
data work.FiscalYear2019;
input @1 fiscalYear $4. @5 StartDate mmddyy8.;
retain diff;
if fiscalYear = '2019' then do;
tday = today();
diff = tday - StartDate;
call symputx('FYTD_days',diff);
call symputx('CY_StartDate', StartDate);
call symputx('CY_EndDate', put(today(),mmddyy8.));
end;
else if fiscalYear = '2018' then do;
PY_EndDate = StartDate + diff;
call symput('PY_EndDate', put(PY_EndDate,mmddyy8.));
call symput('PY_StartDate', put(StartDate,mmddyy8.));
end;
datalines;
201912312018
201801012018
;
data work.Sales;
input @1 fiscalYear $4. @5 orderDate mmddyy8.;
format orderDate mmddyy6.;
datalines;
201902042019
201801012018
;
data final (WHERE=(orderDate >= &PY_StartDate AND
orderDate <= &PY_EndDate));
set Sales;
run;
Я ожидаю, что набор данных FINAL будет содержать одну запись из набора данных Sales, но FINAL содержит 0 наблюдений.