通过从本地 SAS 会话远程提交代码,我使用 SAS 在远程服务器上生成 gif 图像。用于创建 gif 图像的宏被设计为仅在远程服务器上运行,即在 rsubmit 块中调用它:
rsubmit;
%mymacro(params);
endrsubmit;
有没有办法在我的本地 sas 会话的结果区域中显示图像而不运行任何本地代码?如果我这样做了,我可以使用 proc 下载,然后告诉 SAS 使用外部应用程序打开图像,但如果可能的话,我更愿意将所有内容保留在远程宏中。
澄清一下:远程会话在运行 Solaris 的服务器上,本地会话在我运行 Windows 的 PC 上。远程宏通过这种方法在 Solaris 服务器上创建一个外部 gif 图像文件:
filename graph '/path/to/my/image.gif';
goptions xpixels = 1280 ypixels = 1024 gsfname = graph device = gif;
proc gplot *etc etc*
有问题的图表经过大量定制并包含很多细节,因此我在 SAS 中有效地进行了超级采样,以使其在按比例缩小时看起来更好。使用 grlink 图形设备似乎无法产生足够高分辨率的图像,所以我尝试了 gif。
如果有人能想出一种适用于 SAS 或以前的代码未生成的外部图像文件的方法,则加分!