Proc sql рассчитать предыдущую субботу или конец прошлой недели - PullRequest
0 голосов
/ 25 октября 2018

Есть ли лучший способ сделать это?

asof = CAST(DATEADD(week, DATEDIFF(week,'19000101',CURRENT_TIMESTAMP),
       '1899-12-30T19:00:00') AS DATE)

По сути, я пытаюсь использовать субботу предыдущей недели в качестве фильтра для Proc Sql.Независимо от того, в какой день я выполняю этот запрос, он должен указывать дату (а не метку времени) последней субботы

Спасибо!

1 Ответ

0 голосов
/ 25 октября 2018
%let last_saturday = intnx ('week.7', today()-1, 0);
%let last_saturday = %sysfunc(intnx (week.7, %sysfunc(today())-1, 0), yymmdd10.);
%put NOTE: &last_saturday;

%let last_saturday_sq = %sysfunc(quote(&last_saturday,%str(%')));
%put NOTE: &last_saturday_sq;

proc sql;
  … connection to … 
     (cast &last_saturday_sq as DATE) as asof
  … 
...