2015-10-14 36 views
1

我试图为请求者创建一个输出,该请求者希望我采用预先存在的报告,该报告来自单个页面上的两列,并且中断它在单个页面上分为不同的小节,他们希望在新小节开始的页面中间用新标题表示。ODS PDF - 输出的两列在单个页面上被一列输出中断

我有现在的问题是:

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起始页=现在所在的是将整个页面作为一个栏的页面,但随后返回到页面其余部分的两列。

谢谢!

+0

因此,你会有像页面部分的两列布局,然后在两列的部分标题,然后两列的布局半路?也许一张照片在这里会有所帮助。另外 - 这是什么版本的SAS?新版本有'ODS LAYOUT'功能更强大的工具。 – Joe

+0

是的,这正是我期望做的。我们正在使用9.4。抱歉应该提到这一点。 –

回答

0

如果你有SAS 9.4(也可能是9.3),你可以使用ODS LAYOUT来实现这一点很容易。您需要创建网格布局,然后将您的标题更改为另一个ODS TEXT(您当然可以像标题一样)。标题与PROCs,而不是自己,所以如果你真的使用标题它会出现在下一个PROC REPORT去,而不是在自己的区域。

这里有一个准系统的例子,可能会让你开始。有关更多信息,请参阅ODS REGIONODS 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;