SAS中文论坛
标题:
求助,关于 删除所有用户定义的全局宏变量 的一段代码
[打印本页]
作者:
shiyiming
时间:
2011-2-14 14:24
标题:
求助,关于 删除所有用户定义的全局宏变量 的一段代码
可以在sashelp.vmacro中查看所有存在的宏变量的scope和value等信息。
全局(global)宏变量可以通过使用%symdel来删除。
删除所有用户定义的全局宏变量,详见这里:
<!-- m --><a class="postlink" href="http://support.sas.com/kb/26/154.html">http://support.sas.com/kb/26/154.html</a><!-- m -->
[code:1gmixt75]
%let x=1;
%let y=2;
%let z=3;
%put &x &y &z;
%macro delvars;
data vars;
set sashelp.vmacro;
run;
data _null_;
set vars;
temp=lag(name);
if scope='GLOBAL' and substr(name,1,3) ne 'SYS' and temp ne name then
call execute('%symdel '||trim(left(name))||';');
run;
%mend;
%delvars
%put &x &y &z;
[/code:1gmixt75]
问题,if语句中的“temp ne name”的作用是什么?
谢过~
欢迎光临 SAS中文论坛 (http://mysas.net/forum/)
Powered by Discuz! X3.2