0

我希望能够将我的所有报告打印到外部文件,但只在结果查看器中显示少数几个。在下面的示例中,我希望将 reportA 和 reportB 显示并打印(file.xls),但将 reportC 打印到单独的文件(file2.csv)并且不显示在结果查看器中。有任何想法吗?

ods msoffice2k file="/file/file.xls";
proc print data=reportA;
run;
proc print data=reportB
run;
ods msoffice2k close;
ods csvall file="/file/file2.csv";
proc print data=reportC;
run;
ods csvall close;
4

3 回答 3

1

您还可以使用ODS EXCLUDEODS SELECT来定位特定目的地。

例如, ods html select none;将暂时关闭 HTML 目标,但不会真正关闭它——它只是暂时不会得到任何结果。然后,您可以使用ods html select all;将其重新打开。

您也可以使用ods html exclude all;来执行相同的操作,然后使用 重新打开它ods html exclude none;

使用任一语句,您还可以使用whereods select/exclude 中的语句来过滤以仅影响输出的一个特定部分。有关更多详细信息,请参阅文档

于 2015-04-24T14:43:19.317 回答
0

关闭默认的列表输出。或 HTML,如果那是您系统中的默认结果窗口。创建文件后重新打开输出。

ods msoffice2k file="/file/file.xls";
proc print data=reportA;
run;
proc print data=reportB
run;
ods msoffice2k close;
ods listing close;
ods html close;
ods csvall file="/file/file2.csv";
proc print data=reportC;
run;
ods csvall close;
ods listing;
ods html;
于 2015-04-23T23:12:48.550 回答
0

通过使用proc export抑制 csv 输出显示的功能,我实际上找到了更好的解决方案。

ods msoffice2k file="/file/file.xls";
proc print data=reportA;
run;
proc print data=reportB
run;
ods msoffice2k close;

proc export data=reportC
outfile="/file/file2.csv"
dbms=dlm
replace;
delimiter=",";
run;

感谢@Reeza 的帮助,我会在以后的项目中记住这些设置。

于 2015-04-24T17:27:02.070 回答