SAS 9.4 将图输出到错误的目的地

SAS 9.4 Outputting Plots to Wrong Destination

我正在尝试输出一个概率图,它曾经在 SAS 9.3 中工作,但现在它输出到错误的目的地并使用通用名称。使用下面的代码,我应该在 GRAFOUT 目的地得到一个标题为 PROBPLOT (UNTRANS).emf.emf 概率图。但是,它正在输出我想要的图,并在我的 SAS 代码所在的目的地 C:\Users\Name\Documents\Projects\Task 3\SAS Code 中将其命名为 ProbPlot1.png,这显然没有在 GRAFOUT 语句中指定。这令人难以置信地令人沮丧,我不确定为什么它在 9.3 中有效而在 9.4 中无效——有人能看到这个问题吗?

    ODS LISTING;
    GOPTIONS RESET=ALL RESET=GOPTIONS DEVICE=EMF NOPOLYGONFILL  FTEXT="ARIAL/BOLD"
         ROTATE=LANDSCAPE CTEXT=BLACK CSYMBOL=BLACK  CBACK=WHITE HTEXT=5 PCT
         DISPLAY NOPROMPT GSFMODE=REPLACE GSFNAME=GRAFOUT HSIZE=6IN VSIZE=3IN;

    FILENAME GRAFOUT "C:\Users\Name\Documents\Projects\Task 3\Results\Prob Plots\PROBPLOT (UNTRANS).EMF";
    PROC UNIVARIATE DATA=STD_RES NORMAL NOPRINT GOUT = GNEW1;
       VAR RESID;
       PROBPLOT RESID;
       INSET PNORMAL;
    QUIT;

您正在使用 filename 语句,它正在创建一个名为 grafout 的文件引用。 grafout 没有在任何地方使用,因为它出现在 goptions 语句之后,只是一个指向指定目录的变量。相反,使用 ODS PRINTER 语句:

ODS printer printer=emf 
file="C:\Users\Name\Documents\Projects\Task 3\Results\Prob Plots\PROBPLOT (UNTRANS).EMF";

此语法适用于任何 ODS 输出格式。确保在创建打印输出后添加 ods printer close;