I've just began teaching myself plot procedures and very basic macros (ie %LET Statements). I've written a program with the purpose of producing multiple plots in one PDF. The program will be run annually. Reading the support pages I've been able to get pieces of what I want, but I can't seem to get it all together. So far the closest I've gotten is this:
ods listing close;
ods pdf file='O:\HIV Core Statistics Products\HIV Surveillance\Results\2014\plots\LHD_HTR.pdf';
proc gplot data = _LHD_HTR;
plot HTR*year=lhd;
symbol pointlabel=("#HTR") interpol=join value = dot;title 'LHD: HTR';
run;quit;
ods pdf close;
ods listing;
It produces a PDF of my plot where I want it, but there are 2 issues:
1) I don't know how to make my next plot appear on the 2nd page of the PDF and not overwrite this one.
2) I'd like the "2014" in the 'ods pdf file= path' to be automatically updated each year. I created a "%let this_yr = 2014" statement, but the file=path does not understand '&this_yr' or libnames.
Thanks for any help.
1. Place GPLOT code after first set of code, within the ODS PDF Statement
2. Use double quotes in the file= statement and the macro variable will resolve.
%let yr=2014;
ods listing close;
ods pdf file="O:\HIV Core Statistics Products\HIV Surveillance\Results\&yr.\plots\LHD_HTR.pdf";
title 'First Plot';
proc gplot data = _LHD_HTR;
plot HTR*year=lhd;
symbol pointlabel=("#HTR") interpol=join value = dot;title 'LHD: HTR';
run;quit;
title 'Second Plot';
proc gplot data=_LHD_HTR;
plot HTR*year=lhd;
symbol pointlabel=("#HTR") interpol=join value = dot;title 'LHD: HTR';
run;quit;
ods pdf close;
ods listing;
1. Place GPLOT code after first set of code, within the ODS PDF Statement
2. Use double quotes in the file= statement and the macro variable will resolve.
%let yr=2014;
ods listing close;
ods pdf file="O:\HIV Core Statistics Products\HIV Surveillance\Results\&yr.\plots\LHD_HTR.pdf";
title 'First Plot';
proc gplot data = _LHD_HTR;
plot HTR*year=lhd;
symbol pointlabel=("#HTR") interpol=join value = dot;title 'LHD: HTR';
run;quit;
title 'Second Plot';
proc gplot data=_LHD_HTR;
plot HTR*year=lhd;
symbol pointlabel=("#HTR") interpol=join value = dot;title 'LHD: HTR';
run;quit;
ods pdf close;
ods listing;
Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
Register now!
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.