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;
Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!
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.