I have a dataset that has 2 date columns.The date columns in dataset1 are formatted like "01/01/2024"
I put them both into a macro variable like this:-
%if &DateType. = date1 %then %do;
proc sql no print;
select date1 into: date separated by ', '
from dataset1;
quit;
%end;
%else %if &DateType. = date2 %then %do;
proc sql no print;
select date2into: date separated by ', '
from dataset1;
quit;
%end;
I want to use this macro variable to use in a where statement:-
proc sql;
create table want as
select *
from dataset1
where &date. > '01Dec2028'd
;
quit;
However, I keep getting the "ERROR: Syntax error, expecting one of the following.." in my macro valuable. Do I need to change the format?
If your date resolves to more than one date, you'll be passing in a comma-separated list of numeric dates. In other words,
&datemay resolve to:You will need to select a single date from your table from
dataset1. You can do this by selecting the max date or min date. Additionally, if no valid dates exist indataset1, it could also pass a missing value to it, so you'll need to verify that a nonmissing date exists within the table. For example: