如何解决SAS Enterprise Guide - 根据条件将临时“WORK”表导出到同一工作簿中的多个工作表中
我使用的是 8.2 Update 4 (8.2.4.1261)(32 位)。
有人可以帮我将表格导出到包含多张工作表的 Excel 文件中吗?
示例:表格包含美国职业运动队的列表(以及他们所在的城市/昵称和联赛)。每个标签将按联赛(NBA、MLB、NFL、NHL、MLS)分开。我该怎么办?
我还想将当前日期添加到输出 Excel 文件名中。从我读过的内容来看,我可以使用 sysdate 创建一个变量。只是不确定如何将其合并到代码中。
解决方法
- 每个工作表名称都基于一个组。
- 在 SAS 中,我们使用
BY
语句来指定组成一个组的变量——在您的情况下,它是一个变量league
- 在 SAS 中,我们使用
-
BY
语句使特殊令牌在输出期间可用,#BYVAR<n>
和#BYVAL<n>
- 您希望
league
的值在输出过程中很重要(工作表名称),因此#BYVAL1
- 您希望
-
ODS EXCEL
工作表名称构造在OPTIONS
选项中指定。您可以在选项中使用BY
令牌。- 你想要
ODS EXCEL ... OPTIONS (sheet_name="#BYVAL1") ...;
- 你想要
- 输出过程中的
BY
语句会产生额外的行<BYVAR>=<BYVAL>
,它在 Excel 输出中将成为噪音。- 用
OPTIONS NOBYLINE;
防止噪音
- 用
示例:
ods excel file='output.xlsx' options(sheet_name="#BYVAL1");
options nobyline;
proc print noobs data=sashelp.cars;
by make;
run;
ods excel close;
生产
更多
如果您希望 BY
变量出现在 PROC PRINT
输出中,请使用 VAR _ALL_;
语句,或明确列出所需的列。
如果您需要导入和合并在 Excel 中编辑过的数据,或者如果您要制作各种图表等,将 BY
变量添加到输出将使事情变得更容易。实际上,如果您要在优秀。 (Proc ODS EXCEL
和 TABULATE
可以做数据透视表可以做的很大一部分。)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。