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.
Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.
Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.
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.