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);
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);
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.
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!
Still thinking about your presentation idea? The submission deadline has been extended to Friday, Nov. 14, at 11:59 p.m. ET.
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.