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 &amp;x &amp;y &amp;z;

%macro delvars;
  data vars;
    set sashelp&#46;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 &amp;x &amp;y &amp;z;
[/code:1gmixt75]

问题,if语句中的“temp ne name”的作用是什么?

谢过~




欢迎光临 SAS中文论坛 (http://mysas.net/forum/) Powered by Discuz! X3.2