我有一个简单的宏来检查数据集(DATA01)是否存在:
%GLOBAL base_exists;
%MACRO does_base_exist();
%IF %SYSFUNC(exist(DATA_01)) %THEN
%LET base_exists= 1;
%ELSE %LET base_exists= 0;
%MEND;
%does_base_exist();
%PUT Base exist check is &base_exists
上面的代码在我的主进程之前执行的程序中指示。输出消息内容如下:
"Base exist check is 1"
我对我的主进程设置了一个配置,仅在 &base_exists 等于 1 时运行(它是)。出于某种原因,我的主要过程一直未能说明 &base_exists 不存在。
关于我做错了什么的任何想法?我是 EG 的新手,更习惯于在 BASE SAS 工作。
更新: 为了清楚起见,我在我的错误 &base_exists 中附加了一个“s”。