全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
3431 2
2016-04-27
关于这些感觉资料好少, 有一些困惑,请教

比如像这个程序,由于第一句 %let new 定义了全局变量,所以new 的值一直都是inventory, 对不对?

%let new=inventry;


%macro name1;

%let new=report;

%mend name1;





二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2016-4-28 10:01:29
外部的new变量在 system symbol table 中,mcro中的变量是local的,mcaro结束后,变量被删除。

如果你加一句,%name1,变量会更新

  %put  以下是打印结果


1    %let new=inventry;
2
3      %macro name1;
4
5       %let new=report;
6    %put _user_;
7      %mend name1;
8
9       %put _user_;
GLOBAL NEW inventry


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-4-28 10:20:25
建议直接在你之前的帖子上问Pennsy!
这里如果调用了那个宏应该就可以更改new的值
%let new=inventry;

data _null_;
%put &new;
run;

%macro name1;
%let new=report;
%mend name1;

%name1

data _null_;
%put &new;
run;
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群