Hi Everybody,
I would much appreciate if anyone could give me any help about this problem. I created a ODS PDF report. The report includes 2 pages: on the first one I have 2 tables (T1 and T2), side by side. On the second page, I need to print 3 graphs (G1, G2 and G3). This is my code:
ods _ALL_ CLOSE;
ods pdf file="Report_1.pdf" style=Normal Startpage = off NOTOC nogtitle;
options papersize=A4;
options nodate nonumber topmargin=0.003cm
bottommargin=0.03cm
leftmargin=0.003cm
rightmargin=0.003cm;
options orientation=landscape;
* First Page (T1, T2);
ods layout start height=19cm width=27cm;
*region 1 (T1);
ODS REGION x=0cm y=1cm width=13cm height=17cm;
PROC DOCUMENT NAME=DOCUMS.M07_TAB_1;
...
QUIT;
*region 2 (T2);
ODS REGION x=13.7cm y=1cm width=13cm height=17cm;
PROC DOCUMENT NAME=DOCUMS.M07_TAB_2;
...
QUIT;
ods layout end;
*Second page (G1, G2, G3);
ods pdf startpage=now;
* Change page orientation;
options orientation=portrait;
*Define Layout;
ods layout start height=29cm width=19cm;
*Region 1 (for G1);
ods region y=0.5cm;
ods graphics on / width=17cm height=8cm;
proc document name=DOCUMS.M07_GRAF;
replay \SGPlot#1;
run;
quit;
*Region 2 (for G2);
ods region y=10cm;
ods graphics on / width=17cm height=8cm;
proc document name=DOCUMS.M07_GRAF;
replay \SGPlot#2;
run;
quit;
*Region 3 (for G3);
ods region y=19.5cm;
ods graphics on / width=17cm height=8cm;
proc document name=DOCUMS.M07_GRAF;
replay \SGPlot#3;
run;
quit;
ods layout end;
ods pdf close;
This code is working perfectly, generating the pdf report Report1.pdf
This report must be included as part of a bigger report that we can call report2.pdf: to give you an idea, the two pages of Report1 will become page 11 and 12 of Report_2. The report Report_2 is quite complicated, with many changes in page orientation.
I tried to include Report_1 into Report_2 by simply including the above mentioned code in the code I use to generate Report_2 but this solution in not working because G3 is printed only partially, as if the layout would not be defined correctly by the same code.
I can generate G1, G2 amd G3 only by drastically reduce their dimensions, but this would live a lot of white space on the page.
Any idea?
I already red the topic "ODS PDF Truncated Graph"
(https://communities.sas.com/t5/ODS-and-Base-Reporting/ODS-pdf-truncated-graph/m-p/372941#M18904) but the solution offered is not appliable in my case: the code for Report_1 is woring perfectly....it's only when this code is used as part of a longer code that it freaks out.
Thank You very much for any suggestion.
Hi,
With some luck (and a lot of trial and error) I found a solution. It was necessary to specify
goptions device=SASPRTC;
Now all the graph are printed perfectly.
Thank you all anyway
Hi,
With some luck (and a lot of trial and error) I found a solution. It was necessary to specify
goptions device=SASPRTC;
Now all the graph are printed perfectly.
Thank you all anyway
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
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.