SAS 数据驱动宏调用与数组处理
1. 数据驱动宏调用
1.1 DOSUBL 函数概述
在 SAS 中,可以使用 DOSUBL DATA 步函数创建数据驱动的宏调用。DOSUBL 函数允许在传递文本字符串后立即执行 SAS 代码,并且在执行提交的代码期间创建或更新的宏变量会被导出回调用环境。如果 SAS 代码能够执行,DOSUBL 返回值为 0;如果无法执行,则返回非零值。该函数应在 DATA 步中使用,也可以在步边界外与 %SYSFUNC 一起使用。
1.2 DOSUBL 函数语法
DOSUBL(text-string)
其中, text-string 指定要在 DOSUBL 函数内运行的 SAS 代码。
1.3 与 CALL EXECUTE 的对比
在较旧的宏程序中,可能会看到使用 CALL EXECUTE 以类似方式生成宏调用。但如果使用 CALL EXECUTE 的 DATA 步本身是由宏程序生成的,CALL EXECUTE 可能会遇到计时错误,而 DOSUBL 可以避免这个问题。
1.4 示例:使用 DOSUBL 函数
假设创建了一个名为 DelayReport 的宏,用于执行 PROC SQL 查询以连接两个表:
%macro DelayReport(empid);
title "Flight Delays for Employ
超级会员免费看
订阅专栏 解锁全文
1271

被折叠的 条评论
为什么被折叠?



