SAS ods html 输出获得黑匣子而不是绘图

SAS ods html output getting black box instead of plots

提问人:anytnelav 提问时间:11/14/2023 更新时间:11/14/2023 访问量:17

问:

我正在尝试在 for 循环中使用 PROC SGRENDER 生成绘图。在作业执行中运行代码时,我遇到黑匣子而不是绘图。当我将链接从作业提交复制到浏览器中时,我会收到相同的输出。

这些图旨在显示在不需要参数选择的应用程序中。我正在使用 SAS Viya 3.5

filename cd ".";
ods select all;
ods preferences;
ods html5 options(svg_mode="inline");
ods graphics /outputfmt=svg;

ods html5 (id=web) style=daisy path=cd
                          file='test';

%macro CreatePlots;
%local model i;
%do i=1 %to %sysfunc(countw(&modelid_list.,%str( )));
    %LET model = %scan(&modelid_list., &i.,%str( ));
    %put &=model;

    PROC SQL NOPRINT;
    SELECT distinct Name into :ShortName
        FROM PlotData WHERE modelID=&model.;
    QUIT;


PROC TEMPLATE;
   DEFINE STATGRAPH ArrowPlot;
      BEGINGRAPH ;
        ENTRYTITLE "Model: &ShortName.    ";


        LAYOUT OVERLAY /  WALLDISPLAY=(FILL) XAXISOPTS=(DISPLAY=NONE 
                LINEAROPTS=(VIEWMIN=-0.05 VIEWMAX=1.05)) YAXISOPTS=(DISPLAY=NONE LINEAROPTS=(VIEWMIN=-0.6 VIEWMAX=3));

            POLYGONPLOT X=x Y=y ID=Id / COLORRESPONSE=Sign COLORMODEL=(lightblue Pink) 
                DISPLAY=(OUTLINE FILL) OUTLINEATTRS=(COLOR=white /*white on regular screen*/ THICKNESS=2px);
        ENDLAYOUT;
      ENDGRAPH;
   END;
RUN;
    PROC SGRENDER DATA=PlotData(where=(modelID=&model.)) TEMPLATE=ArrowPlot;
RUN;

%end;
%mend CreatePlots;
%CreatePlots;

ods html5 close;
ods listing

在浏览器中,如果我选择“另存为”(HTML)此输出并在浏览器中再次打开保存的文件,则将获得所有绘图的正确输出。

SAS SAS-ODS

评论

0赞 Quentin 11/15/2023
我没有 Viya,所以真的帮不上忙。但很好奇,如果你添加,你看到这些结果了吗?只是想知道问题是否特定于图像。你的最后一句话令人震惊。如果它在下载 HTML 文件时有效,则不是 ODS 问题。当您看到黑匣子时,您如何查看结果?某种网络应用程序 viya 界面?PROC PRINT data=sashelp.class;run;

答: 暂无答案