ODS PDF - 单页上的两列输出被一列输出打断

ODS PDF - Two columns of output interrupted by one column of output on a single page

我正在尝试为请求者创建一个输出,该请求者希望我获取一份在单个页面上分为两列的预先存在的报告,并将其在该单个页面上分成不同的小节,他们希望通过新小节开始的页面中间的新标题。

我现在拥有的是:

ods pdf file=_pdf_ newfile=none startpage=no columns=2 notoc contents=no
style=swsp;

ods text = 'EMPLOYER RENEWAL DATA';

proc report data=renewal_data;
 ...
run;

ods startpage=now;
ods text='FINANCIAL DATA (FULL PROGRAM YEAR)';
proc report data=financial_data_total;
  ...
run;

ods startpage=now;
title1 '$ACA_YR_STR. ACADEMIC YEAR DATA';
footnote;

ods text='APPLICANT DATA';
 ...
run;

我想要的是页面有一个部分标题,第二个 ods startpage=now 所在的位置将整个页面视为一栏,然后 returns 将页面的其余部分设为两栏.

谢谢!

如果您有 SAS 9.4(可能还有 9.3),您可以使用 ODS LAYOUT 轻松实现此目的。您需要创建一个网格布局,然后将您的标题更改为另一个 ODS TEXT(您当然可以将其样式设置为标题)。标题与 PROCs 一起使用,而不是单独使用,因此如果您实际使用标题,它将出现在下一个 PROC REPORT 所在的位置,而不是在其自己的区域中。

这是一个可以帮助您入门的准系统示例。有关详细信息,请参阅 ODS REGION and ODS LAYOUT 文档。请注意,这是正在生产中的东西,但也在积极开发中,因此不同版本的 SAS(包括更新版本)可能会改变其中一些工作方式(尽管希望不会破坏以前存在的功能,谁知道)。

ods pdf file="c:\temp\test.pdf" startpage=no newfile=none notoc contents=no
style=swsp;
options obs=10;

ods layout gridded columns=2 rows=3;
ods region row=1 column=1;
ods text = 'CLASS DATA';

proc report data=sashelp.class;
 columns name age;
run;

ods region row=1 column=2;
ods text='CAR DATA';
proc report data=sashelp.cars;
  columns make model;
run;

ods region column_span=2 row=2 column=1;
ods text='ACROSS THE WHOLE PAGE NOW';
footnote;

ods region row=3 column=1;
ods text='NOT ACROSS WHOLE PAGE FOR THIS PART';
proc report data=sashelp.baseball;
  columns name team;
run;
ods layout end;
ods pdf close;