【发布时间】:2020-02-06 01:37:27
【问题描述】:
目前,我有一个使用 proc export 的数据转储报告,我经常运行它,所有聚合都通过 put() 语句写入报告电子邮件。
差不多
x.aggre_0 看起来像
total 1 total 2 total 3
123 321 567
当前数据步长如下所示:
data x.aggr_1;
set x.aggre_0;
call symput("e-mailcontents",
cat('Summary #1:',total 1)
cat('Summary #2:',total 2)
cat('Summary #3:', total 3))
我只是将put(&e-mailcontents) 添加到我的电子邮件 sas 文件中。
这就是现在流程的概要。
收到了一个新请求,要求将摘要选项卡添加到报告中,而不是在电子邮件中插入所有聚合。但是,我不确定我将如何使用 proc 导出将文本附加到 xlsx 上。由于我无法控制的限制,ODS Excel 和 xlsx 引擎不是一个选项。
我已将聚合保存到 x.aggre_0 中,但我不确定如何将其放置在同一报告的另一张表中。
我在想一些事情,就是创建一个包含一列的新表,然后让它像这样逐行显示,但我不知道怎么做。
column_name
1 Summary #1: 123
2 Summary #2: 321
3 Summary #3: 567
【问题讨论】:
-
您使用 PROC EXPORT 到底是做什么的? PROC EXPORT 的结果现在如何包含在电子邮件中?
-
嘿,很抱歉没有澄清。我目前正在使用 PROC Export 导出报告文件,该文件附加到我发送的电子邮件中。电子邮件正文中是我在原始存储过程中的宏中进行的聚合,它使用宏变量 &email_content 插入到电子邮件正文中。
-
导出成什么格式?假设第一个导出正在创建可以实际存储另一个选项卡的东西,例如 Excel 工作簿,听起来您所要做的就是添加另一个导出步骤,以将另一个选项卡添加到第一个导出创建的任何内容中。否则,如果您无法向其中添加另一个选项卡,那么您将需要创建另一个文件并将这两个文件附加到电子邮件中。
-
最终输出为 .xlsx 文件。我知道我可以利用 proc export 来创建额外的工作表。但是,问题更多在于能够在不使用 ODS Excel 的情况下将常规文本附加到电子表格中。因为 proc export 似乎只适用于 sas7bdat 文件,所以我不确定我将如何添加诸如......总销售额:1,000,000 美元......行数:1236.. 等直接进入辅助选项卡Excel 报告。
标签: sas