1

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

我现在拥有的是:

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 所在的位置将整个页面视为一列,然后返回页面其余部分的两列。

谢谢!

4

1 回答 1

0

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

这是一个准系统示例,可以帮助您入门。有关详细信息,请参阅ODS 区域ODS 布局文档。请注意,这是正在生产中的东西,但也在积极开发中,因此不同版本的 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;
于 2015-10-14T17:05:07.820 回答