全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2249 3
2016-09-18
如图所示,结果显示宏变量count1 没有解析。
附件列表
Image 020.jpg

原图尺寸 98.25 KB

Image 020.jpg

二维码

扫码加我 拉你入群

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

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

全部回复
2016-9-18 20:18:41
(1)引用宏变量要加&
%fuzhi(name=&maValue);

(2)在macro fuzhi里面定义的宏变量是local的不能在宏外面引用,如果要在外面用可以用global定义全局宏变量
在macro内部count1是可以被解析的


%macro fuzhi(name=maValue);
%do i=1 %to 4;
   %if %scan(&name,&i," ") NE " " %then %do;
   %let count&i.=%scan(&name,&i," ");
   %put &&count&i;
   %put *************;
   %end;
%end;

%put %%%%%%%%%%%%%;
%put &count1;
%put %%%%%%%%%%%%%;

%mend;

%fuzhi(name=&maValue);
二维码

扫码加我 拉你入群

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

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

2016-9-18 20:22:30
*使用global,但是使用global一定要慎重,容易出错;
%macro fuzhi2(name=maValue);
%do i=1 %to 4;
   %if %scan(&name,&i," ") NE " " %then %do;
   %global count&i  ;
   %let count&i.=%scan(&name,&i," ");
   %end;
%end;
%mend;

%fuzhi2(name=&maValue);
%put &count1;
二维码

扫码加我 拉你入群

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

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

2016-9-19 08:07:58
huyiustc 发表于 2016-9-18 20:22
*使用global,但是使用global一定要慎重,容易出错;
%macro fuzhi2(name=maValue);
%do i=1 %to 4;
Thank you very much
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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