I am trying to send the contents of a URL portlet to a PDF and I am running into a number of bugs in 9.2.
Is there a way to use ods regions to display pdf text and then graphs side by side without having a page in-between? I found a way to display the graphs side by side but it causes a page break.
Proc Report Does not seem to have odd formatting in pdf format however proc tabulate with multiple group columns does. I converted my tabular displays over to proc report.
I am trying to follow page 3 of
http://support.sas.com/resources/papers/proceedings14/SAS330-2014.pdf
I have a basic output statement
ods layout gridded columns=2 column_gutter=0in advance=bygroup; |
ods region;
proc gchart data=enrollment;
vbar location /
sumvar=students_enrolled
legend=legend1 outside=sum
run;
quit;
ods region;
proc gchart data=enrollment;
vbar location /
sumvar=students_enrolled
legend=legend1 outside=sum
run;
quit;
ods layout end;
and get ERROR: REGION= found but no LAYOUT open for the destination.
It acts liked gridded is not available in SAS 9.2. Am I doing something basic wrong here or is gridded not available in 9.2?
I looked at
ods pdf;
ods layout start;
ods region x=0pct y=0pct width=50pct ;
proc print data=sashelp.class;
run;
ods region x=50pct y=0pct width=50pct;
proc means data=sashelp.class;
run;
ods layout end;
ods pdf close;
Presenting more than one plot on a page using SAS ODS PDF | TechnologyTales.com
I can create multiple rows by using multiple layout commands.
For headings
ods escapechar='^';
ods pdf text="^S={font=('Arial',13pt,bold) just=center}MyHeadingText";
This article shows how to remove the boarder created around pdf text
45762 - How to remove the borders around the text generated by ODS PDF TEXT=
proc template;
define style styles.mystyle;
parent=styles.normalprinter;
class usertext from usertext /
bordertopcolor=white
borderbottomcolor=white
borderleftcolor=white
borderrightcolor=white
just=c;
end;
run;
options nodate nonumber ;
title;
ods pdf file="ods_pdf_text.pdf" style=styles.mystyle notoc startpage=no;
Oddly the below code produces a text line on the first line of one page. Then the two gcharts are displayed side by side on the next. I tried adding height to the regions but it does not take effect in SAS 9.2. The gridded feature is documented as a 9.2 feature but appears to be broken in 9.2.
ods pdf style=styles.pdfStyle startpage=no;
ods escapechar='^';
ods layout start;
ods region width=100pct x=0pct;
ods pdf text="^S={font=('Arial',13pt,bold) just=center}mytitle
ods layout end;
ods layout start;
ods region x=0pct y=0pct width=50pct;
/*gchart1*/
ods region x=50pct width=50pct;
/*gchart2*/
ods layout end;
I also found that when I created a sgpanel that takes up more than one page in a pdf that the sgpanel does not show up.
Start page is supposed to handle this.
https://support.sas.com/resources/papers/proceedings09/043-2009.pdf
"STARTPAGE= The STARTPAGE= option is another easy option that controls the placement of output. The syntax is simple. In the ODS statement, type STARTPAGE=YES|NO|NOW to invoke the option. Let’s go through all three options and explain how each of them works. The first option—YES—is the default. Invoking STARTPAGE=YES inserts a new page at the beginning of each procedure. It’s basically the normal behavior you see when you don’t set the option. When a procedure's output is laid out, a new page will be invoked at the end. The second option is NO. When you invoke STARTPAGE=NO, this means there will be no page insertions before each procedure. A new page will occur only when the current page is filled. The third option is NOW. This option forces the immediate insertion of a new page into the output."
I found that I can display a long Sgpanel if I remove ‘layout’ from around it.
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
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.