You are here: Fearntech »

Tag : ODS

Inline styles in ODS PRINTER output

Controlling formatting of ODS PRINTER (PDF/RTF) outputs has always seemed like a bit of a black art to me, but there are usually ways of getting around potential issues if you know where to look. With SAS V9.2, there are some new and probably unknown features, including the use of ‘inline styles’.

For a good introduction to this I recommend having a look at this SAS document “How to Add a Little Spice to Your PDF Output“.

As a quick example, you need to specify an escape character eg. “^” or “¬”.
ods escapechar="^" ;
Then, you can use that escape character “^” in a number of elements such as a title or PROC REPORT ‘LINE’ statement:
title1 "Colour ^{style [color=red] red} and ^{style [color=blue] blue}";
There are a couple of useful new functions NBSPACE and NEWLINE.
Example:
title1 "First line^{newline 2}and this line after 2 blank lines";

Other useful ODS PRINTER/ODS PDF documents:

Using PROTECTSPECIALCHARS in SAS ODS to allow HTML tags

How to use PROTECTSPECIALCHARS to allow HTML tags in your data when using HTML ODS in SAS.

When sending output to the HTML destination using PROC REPORT a number of the usual attributes are not available. For example the FLOW attribute on the DEFINE statement. It can therefore be necessary to include HTML tags within the data to be interpreted when the HTML page is viewed in a browser.

The problem is that if for example you enter ‘<BR />’ into your data then SAS will protect the characters and your output will actually be converted into character entities eg. ‘&lt;BR /&gt;’. The solution is to use the protectspecialchars attribute within style definitions, which when set to OFF causes SAS to ignore special characters and output exactly as entered.

An example PROC REPORT statement is shown below, note how the protectspecialchars is only being applied to the data in this case and so any special characters in column headers will still be protected.

proc report data=mydata nowindows
style (header) = [font_face=helvetica font_size=2]
style (column) = [font_face=helvetica font_size=1
protectspecialchars=off];