Data visualization with SAS programming

macro notation when producing graphs

Super Contributor
Posts: 261

macro notation when producing graphs

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;



%exportgraphs(Under 10 levels,flag1);

Super Contributor
Posts: 257

Re: macro notation when producing graphs

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);

Super User
Posts: 12,148

Re: macro notation when producing graphs

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.

Ask a Question
Discussion stats
  • 2 replies
  • 3 in conversation