繁体   English   中英

SAS 企业指南 - 根据标准将临时“WORK”表导出到同一工作簿中的多个工作表中

[英]SAS Enterprise Guide - Export Temporary “WORK” table Into Multiple Worksheets in Same Workbook Based on Criteria

我已经搜索和搜索,但我似乎无法找到解决方案。

我正在使用 8.2 Update 4 (8.2.4.1261)(32 位)。

有人可以帮我将表格导出到包含多张表格的 Excel 文件中吗?

示例:表格包含美国职业运动队的列表(以及他们所在的城市/昵称和联赛)。 每个选项卡将按联赛(NBA、MLB、NFL、NHL、MLS)分隔。 我将如何 go 关于这个?

我还想将当前日期添加到 output Excel 文件名中。 根据我的阅读,我可以使用 sysdate 创建一个变量。 只是不确定如何将其合并到代码中。

  • 每个工作表名称都基于一个组。
    • 在 SAS 我们使用BY语句来指定组成一个组的变量——在你的情况下,它是一个变量league
  • BY语句使特殊令牌在 output、 #BYVAR<n>#BYVAL<n>期间可用
    • 您希望league的价值在 output 期间很重要(工作表名称)所以#BYVAL1
  • ODS EXCEL表名称构造在OPTIONS选项中指定。 您可以在选项中使用BY令牌。
    • 你想要ODS EXCEL... OPTIONS (sheet_name="#BYVAL1")...;
  • output 过程中的BY语句会产生一个额外的行<BYVAR>=<BYVAL> ,这将是 Excel output 中的噪音
    • 使用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 output 中,请使用VAR _ALL_; 声明,或列出需要明确的列。

如果您需要导入和合并在 Excel 中编辑的数据,或者您正在制作各种图表等,则将BY变量添加到 output 将使事情变得更容易。 In reality you might be better of producing a single worksheet with all the data and then using autofilter (which is an ODS EXCEL option) and Excel pivot tables/charts if you are doing other work in Excel. (Proc TABULATEREPORT可以做 pivot 表可以做的很大一部分。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM