2

当我批量运行 SAS 程序时,我想知道 SAS 安装在哪里,并将此信息传递给宏变量。是否有任何系统选项或全局宏变量可用?

4

3 回答 3

7

SASROOT(SAS 的安装位置)应该是一个环境变量。

%Put sasroot = %sysget(sasroot);
于 2009-10-06T16:09:07.707 回答
1

请注意, %sysget() 有时区分大小写 - 请参阅我的 EG 4.3 (linux) 日志:

15         %put %sysget(SASROOT);
/opt/sas/env2/lev1/software/SASFoundation/9.2
16         %put %sysget(sasroot);
WARNING: The argument to macro function %SYSGET is not defined as a system variable.

奇怪的是,它在基本 sas 9.3(Windows)中区分大小写。

您可以使用以下命令查看更多设置选项:

%put %sysfunc(getoption(set));

甚至是以下内容:

filename set pipe 'set';
data _null_;
  infile set;
  input;
  put _infile_;
run;

(works in both linux & windows)

于 2012-10-23T16:04:00.157 回答
-1

SAS作为“统计分析系统”?你试过'ls -ls which sas'吗?如果系统上安装了 SAS 可执行文件,我可以像 $ sas 一样调用它,也许它有一个指向 /bin 或 /local/bin 的软链接,带有“ls -ls”,你可以知道该软链接指向的位置。

于 2009-10-06T16:04:33.880 回答