带有过程报告的多张表

问题描述 投票:0回答:1

我在使用 ODS Excel 和 Proc Report 时遇到一些问题。由于某种原因 - 我无法使用 Proc Report 成功创建一个包含多个工作表的 Excel 文件。第一张表包含多个表,并且本身运行良好。一旦我尝试添加新工作表,就会出现选项语句无法识别的错误。

ods excel file="C:\Users\me\desktop\_Draft_&stamp..xlsx"
options (embedded_titles='ON' sheet_interval='NONE' sheet_name='First Tab')
; 
Title j=left height=16pt 'Title1';
proc report data=set1;
run;
Title j=left height=16pt 'Title2';
proc report data=set2;
run;
Title j=left height=16pt 'Title3';
proc report data=set3;
run;

ods excel options (embedded_titles='ON' sheet_name='Second Tab');
Title j=center height=16pt 'Title4';
proc report data=set4 nowd;
  column Year Qtr ('Category1' va1 var2 var3) 
                  ('Category2' va4 var5 var6);
  define Year / display;
  define Quarter / display;
  define var1 / display;
  define var2 / display;
  define var3 / display;
  define var4 / display;
  define var5 / display;
  define var6 / display;
run;
ods excel close;

即使经过研究并改变选项声明,我也无法解决这个问题。

sas
1个回答
0
投票

您的第一个语句 (

ods excel...
) 定义了几个 ODS 选项,特别是:
sheet_interval='NONE'

sheet_interval
选项控制ODS引擎如何在文档中输出报告:

  • TABLE(默认值)-输出中每个表的新工作表
  • NONE - 保留当前工作表上的后续输出
  • PAGE - SAS 输出每页的新工作表
  • PROC - 从 PROC 步骤边界开始的新工作表
  • BYGROUP - 每个 BY 组输出的新工作表
  • 现在 - 立即开始新工作表

在您的示例中,您明确要求 ODS 引擎“不”创建新工作表。因此,尽管您为第二个过程报告提供了新的工作表名称,但它并未创建。 解决方案是更改 ODS 选项以删除

sheet_interval

的定义,如下所示:

ods excel file="C:\Users\me\desktop\_Draft_&stamp..xlsx"
options (embedded_titles='ON' sheet_name='First Tab')
;

© www.soinside.com 2019 - 2024. All rights reserved.