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中。
感谢阅读!若有疑问,欢迎评论区交流!