全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
11802 2
2014-05-12
请教各位SAS大神,下面这段宏命令错在什么地方?正确的应该是什么样子的
万分感激!
%macro number1;
data factes12old2;
set sasuser.factes1after100;
%do i=1 %to 18;
  %if es&i<=1 %then nes&i=0;
  %if es&i>1 %then nes&i=1;
  %if es&i.a<=1 %then nes&i.a=0;
  %if es&i.a>1 %then nes&i.a=1;
  %if es&i.b<=1 %then nes&i.b=0;
  %if es&i.b>1 %then nes&i.b=1;
%end;
%mend;
%number1;
二维码

扫码加我 拉你入群

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

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

全部回复
2014-5-12 17:36:19
二维码

扫码加我 拉你入群

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

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

2014-5-12 21:36:05
你需要再看看宏解析和程序解析的顺序。
es&i只有&i是宏解析的时候展开的。也就是 %if es&i<=1 %then nes&i=0;中, es&i再宏展开期=es1, es2,es3...而不是你要的数字。
复制代码

二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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