SAS编程:输出SAS数据集(Listing)到EXCEL

2022-04-01  本文已影响0人  野藤_

临床试验SAS编程过程中,Listing的输出一般分为两类,一是输出达到EXCEL中,二是输出到RTF中。这两类除了文本格式区别外,展示也稍有不同。

这篇介绍如何输出到EXCEL。

1. 输出单个数据集到EXCEL中

主体的输出程序是ods语句,数据是用Report过程步展示:

ods excel file = "E:\Test\class.xlsx";

proc report data = sashelp.class;
  column _all_;
run;

ods excel close;
Class

以上默认输出内容的,看起来也挺美观的,但有明显的两点是需要更新的。第一点,Sheet的名称;第二点,Listing输出一般都需要添加Title。.

实现这两点,需要两个选项sheet_name=embedd_titles=

ods excel file = "E:\Test\class.xlsx" 
  options(sheet_name="Class" embedded_titles = "Yes");

title1 justify = center "Class students";
title2 j = c "Basic Information";

proc report data = sashelp.class;
  column _all_;
run;

ods excel close;
Class

以上展示的就是输出到EXCEL中的基础输出。

还有一个常用的选项frozen_headers="Yes",将EXCEL中Header以上内容进行冻结。

ods excel file = "E:\Test\class.xlsx" 
  options(sheet_name="Class" embedded_titles = "Yes" frozen_headers="Yes");

ods excel语句的其他选项内容,参考SAS官方文档SAS Help Center: ODS EXCEL Statement

如果想要对Header显示的内容、格式进行调整,具体在Report过程步中进行整理。

proc report data = sashelp.class 
  style(header)=(j=c color=black foontsize=12pt);
  column _all_;
run;

如果想要对具体变量显示内容进行调整,具体在Report过程步中Define语句中进行整理。

proc report data = sashelp.class;
  column _all_;
  define name/ display "Last Name" style=[cellwidth=1in];
run;

具体Report过程步语法,参考官方文档SAS Help Center: REPORT Procedure

2. 输出多个数据集到EXCEL中

上面输出一个数据集到EXCEL的文件中,通常还会输出多个数据集到EXCEL中的不同Sheet中。这个需要在前一段代码后接上一个ods excel语句,此时需要省略file=选项,否则SAS会报错

ods excel file = "E:\Test\sashelp.xlsx" 
 options(sheet_name="Class" embedded_titles = "Yes" frozen_headers="Yes");

title1 justify = center "Class students";
title2 j = c "Basic Information";

proc report data = sashelp.class;
 column _all_;
run;


ods excel 
 options(sheet_name="Cars" embedded_titles = "Yes" frozen_headers="Yes");

title1 justify = center "2004 Car Data";
title2 j = c "Basic Information";

proc report data = sashelp.cars;
 column _all_;
run;

ods excel close;
Cars

两个数据集都输出到EXCEL中,位于不同的Sheet,多个数据集的输出以此类推。

总结

文章介绍了SAS数据集如何到EXCEL文件,以及一些常用的输出选项。同时,也介绍了如何输出多个数据集到EXCEL中。

感谢阅读!若有疑问,欢迎评论区交流!

上一篇下一篇

猜你喜欢

热点阅读