BookmarkSubscribeRSS Feed
Bensansing
Calcite | Level 5

Hey all,

I am trying to call a different include statement inside of a macro, but having the include different based on if a different macro is selected

ex:

%macro DDL;

%if &upd = 2 or &upd = 4 or &upd = 5 %then %do;

  %include "/test/&csv..sas";

%end;

%else %do;

  %include "/test/&fn..sas";

%end;

%mend DDL;

%DDL

Inside each of those is a different macro that needs to be used in a proc sql statement, but when I put this logic in my program is not reading the macor &Query

But when I had it just this it would work: %include "/test/&fn..sas";

Not sure it's including it from the macro.. any thoughts?

Thanks

1 REPLY 1
ballardw
Super User

Unless those include files have identically named macros (and nothing else) with different behavior I would suggest you are spending a lot of time for not much reward. And if you do have the same named macro in each that is generally not a good idea. If they do different things they should have a different name.

Since compiling macros takes relatively few processes, include all of the macro source code at the start of the job, or investigate AUTOCALL macro libraries.

Are you getting errors? What value(s) of UPD that is causing the problem?

Have you run this with OPTIONS MPRINT SOURCE2;

hackathon24-white-horiz.png

2025 SAS Hackathon: There is still time!

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!

Register Now

Creating Custom Steps in SAS Studio

Check out this tutorial series to learn how to build your own steps in SAS Studio.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 1 reply
  • 1188 views
  • 0 likes
  • 2 in conversation