楼主: MiSH2HK
3513 2

[问答] SAS ADV Macro, 全局变量,局部变量 [推广有奖]

  • 0关注
  • 1粉丝

VIP1

大专生

36%

还不是VIP/贵宾

-

威望
0
论坛币
2022 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
382 点
帖子
35
精华
0
在线时间
39 小时
注册时间
2015-2-1
最后登录
2016-12-23

楼主
MiSH2HK 发表于 2016-4-27 22:08:46 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
关于这些感觉资料好少, 有一些困惑,请教

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

%let new=inventry;


%macro name1;

%let new=report;

%mend name1;





二维码

扫码加我 拉你入群

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

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

关键词:Macro CRO acr Mac Inventory report 程序 资料

沙发
rendajingguan01 发表于 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


藤椅
5傻小不点 发表于 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;

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-26 21:42