BookmarkSubscribeRSS Feed
brophymj
Quartz | Level 8

The below code works fine when I don't use a macro but when try to build a macro to allow for different paths, flags, it fails to execute. Is my macro notation incorrect?

%macro exportgraphs(folder,flag);

  options orientation=landscape nodate nonumber;

  ods listing gpath="H:\&folder.\";
  ods pdf file="H:\&folder.\&flag..pdf" columns=2 style=meadow startpage=no;
  ods graphics on/width=4.5in height=3.75in;

  proc sgplot data=dataset( where=(&flag = "Y" ));
     title "title ";
     vbar level / response=exposure;
     vline level / response=all_LR y2axis;
  run;

  

%mend;

%exportgraphs(Under 10 levels,flag1);

2 REPLIES 2
djrisks
Barite | Level 11

I would add ods pdf close; before the %mend statement, and use %exportgraphs(%str(Under 10 levels),flag1) instead of %exportgraphs(Under 10 levels,flag1);

ballardw
Super User

Does the folder path exist before the code is run? i.e h:\Under 10 levels ? That could be an issue as well, or if the existing folder is named H:\ Under 10 levels   (note space before Under) and if you are running on Unix then case of the folder name becomes an issue.

sas-innovate-wordmark-gradient-background 3.pngSAS Innovate

Call for content now open!

It's your turn to help shape SAS Innovate 2027. Share your expertise and inspire the SAS community.

Submit your proposal →

How to Concatenate Values

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.

SAS Training: Just a Click Away

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

Browse our catalog!

Discussion stats
  • 2 replies
  • 2197 views
  • 3 likes
  • 3 in conversation