我正在编写一个需要不同信息的程序,无论是在 SAS base 还是 SAS EG 中运行。是否可以编写一个 SAS 程序来检测它是在 SAS EG 还是 SAS base 中运行?
您可以使用全局宏变量_CLIENTAPP来测试您是否在EG中。
当您使用例如:
data _null_;
%put &_CLIENTAPP;
run;
Run Code Online (Sandbox Code Playgroud)
在 EG 5.1 中,它返回“SAS Enterprise Guide”。
_CLIENTVERSION 返回适用于我的环境的 EG 版本,eG:'5.100.0.15040'
不确定这些全局变量是否存在于 Base 中(目前无法测试这一点),但如果它不起作用,您可以假设类似变量不存在其基数,例如:
if "&_CLIENTAPP" = 'SAS Enterprise Guide' then
*do eg stuff
else
*do base stuff
Run Code Online (Sandbox Code Playgroud)