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;
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
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.