sas - 使用 ODS 更新 Excel 输出?

标签 sas sas-macro sas-ods

我正在运行一个宏程序来分析数据集。在我的宏结束时,我使用了 ODS 语句和 proc 报告来导出我的结果。我想要的是:每次我使用新数据集运行宏程序时,结果将在同一 Excel 文件的新工作表中更新,而不删除旧数据集的工作表,也不会删除旧的 Excel 文件。请帮我。

最佳答案

解决这个问题的基本方法是拥有主要 ods tagsets.excelxp宏迭代之外的语句。然后只控制宏内部的工作表。

说你有:

%macro run_me(sheet=,sex=);
  ods tagsets.excelxp options(sheet_name="&sheet.");
  proc print data=sashelp.class;
    where sex="&sex.";
  run;
%mend run_me;

ods tagsets.excelxp file="c:\temp\test.xml";
  %run_me(sheet=Male,sex=M);
  %run_me(sheet=Female,sex=F);
ods tagsets.excelxp close;

你只需要在剩下的分析中小心你的输出;您可能需要使用 ods select像这样的语句:
ods tagsets.excelxp select none;

在宏开始时,然后当您想再次开始输出时
ods tagsets.excelxp select all;

(当然,或者只是选择您想要的特定输出。)

关于sas - 使用 ODS 更新 Excel 输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31161690/

相关文章:

pdf - SAS:如何使用 ODS 布局在 2 个 PDF 页面上放置 8 个图形?

sas ods 列 - 制作 "journal style"文档

SAS 字符串比较

sas - 选择数据步骤中具有最大值的观测值

RJDBC::dbConnect 期间的 Java 异常错误:如何静默忽略?

sas - 在 SAS 中,执行没有分号的宏?

sas - SAS 中的 Jaro-Winkler 字符串比较函数

sql - 在SQL语句中执行宏

sas - 带有宏的分类变量

css - SAS 同时使用 CSSSTYLE 和电子邮件功能