1

是否可以使用 proc 报告在一张 Excel 工作表上堆叠多个表格?例如,下面是我的代码的简化版本,我想使用第一个 proc 报告显示 table1,然后在同一个工作表上跳过一行并在其下方显示 table2。

ods listing close;
ods results off;
ods tagsets.excelxp file="c:\temp\char.xls" style=esgexcel ;

proc report data=table1 missing nowindows spacing=1;
column  field1
        field2
        field3 
        ;

define field1 /   'acct';
define field2 / format=mmddyy10.  'date';
define field3 / format=dollar22.2 'value';

run;

proc report data=table2 missing nowindows spacing=1;
column  field1
        field2
        field3 
        ;

define field1 /   'acct';
define field2 / format=mmddyy10.  'date';
define field3 / format=dollar22.2 'value';

run;

ods tagsets.excelxp close;
ods listing;
ods results;

但它不起作用。它将两个 proc 报告放在单独的工作表上。

4

1 回答 1

5

您必须添加sheet_interval=none选项ods tagsets.excelxp

ods tagsets.excelxp options(sheet_interval='none');

它将强制 SAS 将所有后续表格(或署名,或脚注等)放在同一张纸上。如果您想更改表格之间的间距(默认为 1 行),您可以使用选项skip_space

skip_space='x1,x2,x3,x4,x5'

在哪里:

x1=表格间距(默认 1)

x2=署名间距(默认 0)

x3=标题间距(默认 1)

x4=页脚间距(默认 1)

x5=pageBreaks 的间距(默认 1)

于 2013-12-03T21:33:45.653 回答