我在Windows上运行SAS 9.4。
如果我提交
/*ods listing close;*/
filename grafout "C:\output\sastest.png";
goptions reset=goptions device=png gsfname=grafout;
proc gchart data=sashelp.class;
where sex="F";
vbar age / sumvar=weight type=mean subgroup=age
nolegend discrete;
run;
quit;
文件sastest.png
将导出到C:\output
文件夹。但是,如果我在代码顶部放置ods listing close;
语句,则不再导出图表。
显然,listing目的地超过
生成传统SAS输出的ODS目的地(等宽航空 格式)。
更令人困惑的是,默认情况下关闭列表:
默认情况下,从SAS 9.3开始,在Windowing环境中使用 在Windows和UNIX操作系统中,LISTING目的地是 已关闭且HTML目标已打开。
为什么ods listing close;
语句会阻止图表导出?
答案 0 :(得分:1)
原因是ods listing
目的地是导致您的图表通过gsfname
导出的原因。我怀疑你会发现它确实在你运行代码并注释掉它之前(如果它确实保存了文件)。
ODS HTML
使用不同的方法来定义应该导出图形的位置而不是goptions
;它使用gpath=
来定义文件的路径,并使用图上的name
选项来定义文件的名称。实际上它是#34;出口"每次运行此文件时 - 只是不到有用的位置(请参阅日志;它使用默认gpath,可能是临时位置,默认文件名,proc的名称)。
ods listing close;
ods html gpath="c:\temp" ;
proc gchart data=sashelp.class;
where sex="F";
vbar age / sumvar=weight type=mean subgroup=age
nolegend discrete name="sastest";
run;
quit;
默认情况下,您的商家信息目标可能已关闭,具体取决于管理员定义的系统设置和/或会话期间更改的其他选项。
有关指定如何在不同目的地保存SAS / GRAPH文件的详细信息,请参阅Controlling Where Your Output Is Stored。