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

在SAS 9.4中关闭自动图形保存,sas,sas-ods,Sas,Sas Ods,在sas9.3中,我可以使用odshtmlgpath指定保存图形的路径(如果需要)。在9.4中,默认情况下(即每次打开SAS),每当我制作图形时(例如,使用PROC SGPLOT),它会自动将绘图保存到SAS程序保存的位置。我尝试过使用工具-->选项-->首选项-->结果,并取消选中HTML和ODS选项的每个组合,但不管发生什么,我仍然会得到自动保存的图形。我怎样才能关掉这个?我最好还是在SAS中有ODS输出,但我不希望这些PNG(或任何东西)图像自动保存到SAS外部的计算机上 编辑:更多信息,

在sas9.3中,我可以使用
odshtmlgpath
指定保存图形的路径(如果需要)。在9.4中,默认情况下(即每次打开SAS),每当我制作图形时(例如,使用
PROC SGPLOT
),它会自动将绘图保存到SAS程序保存的位置。我尝试过使用工具-->选项-->首选项-->结果,并取消选中HTML和ODS选项的每个组合,但不管发生什么,我仍然会得到自动保存的图形。我怎样才能关掉这个?我最好还是在SAS中有ODS输出,但我不希望这些PNG(或任何东西)图像自动保存到SAS外部的计算机上

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

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

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

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

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

2)
ODS-HTML-CLOSE
(打开
ODS-GRAPHICS时)
:在SAS中丢失图形的HTML/ODS版本,但SAS中仍有图形我可以双击在Windows Photo Viewer中打开的图形,图形仍会自动保存到我的SAS程序的位置

3)
ODS图形关闭
ODS HTML关闭
:与前面的案例相同((2)正上方)


我想要的(我觉得这是9.3中的情况)是,让ODS图形出现在SAS中(实际上不需要您可以双击在Windows Photo Viewer中打开的版本),但是不,不要让SAS将PNG保存到我的计算机上(特别是我的SAS程序的位置)。

在9.3中,当启用
ODS HTML
时,图形默认为用户的主目录。即使未指定路径,它们也会保存到硬盘驱动器中。否则,浏览器将无法显示图像。默认位置可能已在9.4中移动(我没有要测试的副本),但这两个版本都将png文件放在硬盘上。

首先,请注意您尝试的内容

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

ODS-HTML-CLOSE
将告诉SAS不要生成HTML输出,但只要您打开另一个目标(
ODS-LISTING
?),它仍将生成指向
GRAPH
目标的图形。另外,它仍然使用
ODS HTML CLOSE
生成图形(与注释“无输出目的地活动”和无输出相反)这一事实告诉我,您仍然有一个目的地处于打开状态(同样,可能是
列表
)。因此,
ODS HTML GPATH
不一定能解决您的问题(因为它只会影响HTML输出的方向)。您需要为每个打开的目的地设置
GPATH
(根据您的首选项中的复选框,可以是
列表
HTML
,也可以是两者)

解决方案: 既然你想让它消失,最好的办法就是把它放在你的工作目录中(当它正常关闭时,SAS会清理这个目录)

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

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


您还可以在工具->首选项->结果中取消选中
Listing
,和/或使用
ODS Listing CLOSE,这些文件不应出现。

转到工具-->选项-->首选项-->结果并取消选中创建列表。它应该负责将PNG文件自动保存到程序文件中

你能更具体地描述一下这个区别吗(因为我没有意识到9.3到9.4之间的区别)。在9.3中,您是否将HTML或列表作为默认目标(列表是9.2和更早版本的默认目标)?在9.3示例中,您说您正在使用
GPATH
定义路径(这是正确的方法);在9.4中,你没有明确表示这不起作用,但这就是你的意思吗?你能发布一个例子吗?在9.4中,它不能像你所希望的那样工作,但在9.3中却能工作?我不能马上回忆起9.3,但相信列表和HTML都是默认选中的,这在9.4中是肯定的。问题在于无法分配路径,而是路径似乎是默认分配的,这样SAS即使在我没有告诉它时也会自动保存图形(即,我没有指定
ODS HTML GPATH
)。我在上面做了一些编辑,希望这有助于澄清。如果你有,它必须把它们保存在某个地方
ods listing gpath="%sysfunc(getoption(work))";

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