目前,我有一个使用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 export将文本附加到xlsx。由于我无法控制的限制,ODS、Excel和xlsx引擎不是一个选择。
我已经将聚合保存到x.aggre_0中,但我不确定如何将其放在同一报表的另一个工作表中。
我在想一些类似的东西,比如创建一个只有一列的新表,然后让它像这样逐行显示,但我不知道是如何实现的。
column_name
1 Summary #1: 123
2 Summary #2: 321
3 Summary #3: 567
发布于 2020-02-05 16:13:20
这听起来像是您正在尝试创建一个将当前摘要数据转置的数据集。您可以查看proc transpose,但对于非常简单的情况,我可能会这样做:
data summaryinfo;
set x.aggre_0;
summaryinfo = cat('Summary #1:',total 1); output;
summaryinfo = cat('Summary #2:',total 2); output;
summaryinfo = cat('Summary #3:',total 3); output;
keep summaryinfo;
run;
proc export data = summaryinfo;
outfile = "your-file.xlsx"
dbms = excel;
sheet = "Summary Info";
run;
https://stackoverflow.com/questions/60063457
复制相似问题