sas - 在 SAS 9.4 中关闭自动图形保存

标签 sas sas-ods

在 SAS 9.3 中,我可以使用 ODS HTML GPATH 来指定我想要保存图形的路径(如果我愿意的话)。在 9.4 中,默认情况下(即每次打开 SAS 时),每当我制作图表(例如,使用 PROC SGPLOT)时,它都会自动将绘图保存到保存 SAS 程序的位置。我试过去工具 --> 选项 --> 首选项 --> 结果 并取消选中 HTML 和 ODS 选项的每个组合,但无论如何我仍然会自动保存图表。我怎样才能关闭它?最好我仍然有 ODS 输出 SAS 中,但我不希望这些 PNG(或其他)图像自动保存到我在 SAS 之外的计算机中。

编辑:更多信息,因为上述差异尚不清楚。

1) 在 9.3 中,我 不得不ODS GRAPHICS ON 并指定 ODS HTML GPATH 以便让 SAS 将我的绘图保存到我的SAS之外的计算机(或者我认为)。如果我想要 SAS 内部的 ODS 图形,但不保存 SAS 外部的图形,我可以说 ODS GRAPHICS ON 并跳过 ODS HTML GPATH 语句。

2) 当我打开 9.4 并且不做任何关于 ODS 的声明(即保留默认设置),而是运行诸如 SGPLOT 之类的过程时,我 A) 获得一个 html 图表(显示在 SAS 的“结果”窗口中的 ODS 图表)和一个我可以双击以在 Windows 照片查看器中打开的图表,B ) 该图另外自动保存在我的 SAS 程序所在的位置作为 PNG。

为了停止这种自动图形保存,我在运行 PROC SGPLOT 之前在 SAS 9.4 中尝试了以下操作:

1) ODS GRAPHICS OFF:没有任何变化。我仍然得到上面第 (2) 点中列出的所有内容。

2) ODS HTML CLOSE(ODS GRAPHICS ON):在 SAS 中丢失 html/ODS 版本的图形,但在 SAS 中仍有图形我可以双击在 Windows 照片查看器中打开,但图形仍会自动保存到我的 SAS 程序的位置。

3) ODS GRAPHICS OFFODS HTML CLOSE:与前面的情况相同((2) 直接在上面)。

我想要的(我觉得这就是 9.3 中的情况)是的,有 ODS 图出现在 SAS 中(真的不需要你可以双击的版本在 Windows 照片查看器中打开),但不,不要让 SAS 将 PNG 保存到我的计算机(特别是我的 SAS 程序的位置)。

最佳答案

首先,关于您尝试过的内容的一些说明。

ODS GRAPHICS on/off 不会对 SGPLOT 或任何 SG 程序产生任何实际影响;无论如何,它们都是 ODS GRAPHICS。它所影响的是 PROC UNIVARIATE 和具有两种类型图形的类似程序 - 旧式图形和 ODS GRAPHICSODS GRAPHICS ON 告诉他们使用 ODS GRAPHICSOFF 告诉他们使用旧方法。

ODS HTML CLOSE 将告诉 SAS 不要生成 HTML 输出,但只要您打开另一个目标 (ODS LISTING?) 它仍会生成图形到GRAPH 目的地。此外,它仍然使用 ODS HTML CLOSE 生成图形(与注释“没有事件的输出目标”和没有输出相反)告诉我你仍然有一个打开的目标(再次,可能 list )。因此,ODS HTML GPATH 不一定能解决您的问题(因为它只会影响 HTML 输出的去向)。您需要为每个打开的目标设置 GPATH(可以是 LISTINGHTML 或两者,取决于您的首选项中的复选框)。

解决办法: 由于您希望它消失,因此最好的办法是将其放在您的工作目录中(当 SAS 正确关闭时,该目录由 SAS 清理)。

ods listing gpath="%sysfunc(getoption(work))";

proc sgplot data=sashelp.class;
vbar sex;
run;

请注意,已创建 .png 文件(一如既往),但现在它们进入工作目录(您可以像浏览子库一样浏览并查看其中的每个文件)。

您可以将初始行放在 autoexec.sas 文件中,并告诉 SAS 在 SAS 启动时运行该文件(命令行上的 -AUTOEXEC 选项)。

您也可以在 tools->preferences->Results 中取消选中 Listing,和/或使用 ODS LISTING CLOSE;,这些文件不应出现。

关于sas - 在 SAS 9.4 中关闭自动图形保存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21208680/

相关文章:

hadoop - 使用超过15位数字的数值变量将sas数据写入Hive

sas - 使用多个表保存来自 SAS proc freq 的结果

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

sas - 在 SAS ODS pdf 文件中包含语法

pdf - SAS ODS PDF 插入链接

sas - 我更改了列名称,但 SAS PROC REPORT 仍使用旧名称

sas - Syserr 宏变量错误地为零?

arrays - 数据步内的 SAS 阵列 DO 循环计算

sas - 修改 SAS 数据集中的单个观察值