我一直认为如果在里面使用它%let会创建一个local变量%macro . . . %mend
但是当我运行此代码时,SAS日志显示 GLOBAL TESTVAR value1
%let testVar = value2;
%macro test;
%let testVar = value1;
%mend;
%test
%put _all_;
Run Code Online (Sandbox Code Playgroud)
所以,我无法理解为什么全局变量的值testVar改变为value1.我原以为它没有改变value2.在%let里面的语句%macro应该影响只在本地符号表.
当宏处理器执行可以创建宏变量的宏程序语句时,如果没有可用的具有相同名称的宏变量,宏处理器将在本地符号表中创建该变量
sas ×1