【发布时间】:2015-04-09 10:31:22
【问题描述】:
我有一个简单的宏来检查数据集 (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”。
【问题讨论】:
-
你在“base_exist's”中缺少“s”吗?
-
'未能声明 &base_exist 不存在' -- 宏是
&base_exists-- 以 S 结尾。确保您的名称正确。 -
只是您的帖子在 %Put 语句后缺少分号吗?还是在你的代码中也是如此?
-
您能张贴条件对话框的屏幕打印吗?
标签: sas sas-macro enterprise-guide