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

The 2025 SAS Hackathon has begun!

It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.

Latest Updates

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
  • 1211 views
  • 0 likes
  • 2 in conversation