Assuming your real code was already of better quality than what you've posted the reason is likely that you've enclosed the macro variable in single quotes. You need double quotes for the macro variable to resolve.
Below working sample code with all the syntax you've posted fixed.
%let prev_day = %sysfunc(intnx(day, %sysfunc(today()),-1), date9.);
%put &=prev_day;
data have;
format date_load_dttm datetime21.;
do i=-3 to 3;
date_load_dttm=intnx('dtday',datetime(),i);
output;
end;
run;
data want;
set have;
if datepart(date_load_dttm) < "&prev_day"d;
run;
Assuming your real code was already of better quality than what you've posted the reason is likely that you've enclosed the macro variable in single quotes. You need double quotes for the macro variable to resolve.
Below working sample code with all the syntax you've posted fixed.
%let prev_day = %sysfunc(intnx(day, %sysfunc(today()),-1), date9.);
%put &=prev_day;
data have;
format date_load_dttm datetime21.;
do i=-3 to 3;
date_load_dttm=intnx('dtday',datetime(),i);
output;
end;
run;
data want;
set have;
if datepart(date_load_dttm) < "&prev_day"d;
run;
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss. Register now and lock in 2025 pricing—just $495!
Follow along as SAS’ Robert Blanchard explains three aspects of autotuning in a deep learning context: globalized search, localized search and an in parallel method using SAS.