IN doesn't always work as expected with the logic.
You can enable it using MINOPERATOR.
%macro run_mig(yr) / minoperator mindelimiter=',';
Or use OR
%if &yr=2015 or &yr=2016 %then %do;
IN doesn't always work as expected with the logic.
You can enable it using MINOPERATOR.
%macro run_mig(yr) / minoperator mindelimiter=',';
Or use OR
%if &yr=2015 or &yr=2016 %then %do;
I think the default delimiter for the in operator in macros is the space.
Try
option mindelimiter=",";
Using the IN operator in macro language is tricky, and requires the proper setting for two options, and possibly a slightly different syntax. While you can look them up if you would (start with MINDELIMITER), it's easier to just get rid of IN for two possible values:
%if &yr=2015 or &yr=2016 %then %do;
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.