BookmarkSubscribeRSS Feed
☑ This topic is solved. Need further help from the community? Please sign in and ask a new question.
Bill3
Fluorite | Level 6

data class; set sashelp.class sashelp.class; run; options nodate nonumber orientation=portrait missing=""; ods rtf file="yourpath.rtf" style=Journal; proc report data=class headline headskip nowd; run; ods rtf close;

Bill3_0-1725349879307.png

After the proc report, there is a forced line breaks (maybe "\n").

Is there a way to not output this line break in the proc report? Because This will take up a row of space.

 

1 ACCEPTED SOLUTION

Accepted Solutions
Ksharp
Super User

Try to use TAGSETS.RTF  + options(vsspace='no') :

 

data class; 
set sashelp.class sashelp.class;
run; 
title;
ods tagsets.rtf text= 'xxxx';
options nodate nonumber orientation=portrait missing=""; 
ods tagsets.rtf file="c:\temp\temp.rtf"  style=Journal options(vsspace='no' CONTINUE_TAG='no'); 
proc report data=class headline headskip nowd; 
run; 
ods tagsets.rtf close;

View solution in original post

11 REPLIES 11
Ksharp
Super User

Try to use TAGSETS.RTF  + options(vsspace='no') :

 

data class; 
set sashelp.class sashelp.class;
run; 
title;
ods tagsets.rtf text= 'xxxx';
options nodate nonumber orientation=portrait missing=""; 
ods tagsets.rtf file="c:\temp\temp.rtf"  style=Journal options(vsspace='no' CONTINUE_TAG='no'); 
proc report data=class headline headskip nowd; 
run; 
ods tagsets.rtf close;
ChrisNZ
Tourmaline | Level 20

@Ksharp 👍

 

I swear it's impossible to know about all the ODS options and capabilities unless you stumble upon them and save a note somewhere.

vsspace is not described on this page where it should be.

 

ODS has grown over the years, especially after the tagsets came along. There are now multiple ways to do things, with each method having different abilities and limitations. SAS should clean this up, pick a destination that can do it all and let the other destinations become obsolete, and document that destination properly. The worst most prolific is the relationship with Excel, as @ChrisHemedinger briefly demonstrated.

 

 

 

 

 

 

Ksharp
Super User
Agree. But that might be a big obstacle for sas.
you can check all the option of tagsets.rtf by :
ods tagsets.rtf options(doc='help');

Actually I learned this option vsspace='no' is from @Cynthia_sas , I also have no time to go throught all these options of all these ODS destinations.
ChrisNZ
Tourmaline | Level 20

@Ksharp There's no vsspace in the help either.

 

There's this though:

 

 VSPACE: Default value is 'yes'.
      Current Value: on
      Usage: OPTIONS(VSPACE='yes')
      Description: 
        uses the PARSKIP event to place a space table in the document.
        'yes' and 'on' have the same action.
        Assigning 'no' or 'off' uses no PARSKIP table.

which is hardly helpful. It might be the same as vsspace who knows.

 

It's a mess. 😞

 

Ksharp
Super User
Yes. It is the same option since the LOG did not complain it by WARNING or ERROR.
SAS has some intelligence to know those are the same option .
ChrisNZ
Tourmaline | Level 20

Mmm the usual message for fixing typos is not there, like

WARNING 1-322: Assuming the symbol RENAME was misspelled as RENAEM.

 

 

Ksharp
Super User
Yeah. Maybe "vsspace" is just alias of "vspace" which is not documentation in.
For example: P= is same with PREDICTED= :
proc glm data=sashelp.class;
model weight=height;
output out=out predicted=pred;
quit;

proc glm data=sashelp.class;
model weight=height;
output out=out p=pred;
quit;
ChrisNZ
Tourmaline | Level 20
True. Fair point. If only there was some documentation to look this up...
Bill3
Fluorite | Level 6

I need to output this RTF when making TLFs for FDA Submission. So, what is the difference between ods tagsets.rtf and ods rtf? What extra precautions should I take when using the ods tagsets.rtf.

Bill3
Fluorite | Level 6
thank u very much@!

SAS Innovate 2025: Save the Date

 SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!

Save the date!

How to Concatenate Values

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 11 replies
  • 1916 views
  • 3 likes
  • 3 in conversation