全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2592 2
2008-08-04

请教各位高手:


%macro var;
   data _null_;
      set data_temp end=last;
      call symput("v"||compress(_n_),compress(value)||",");
      if last then call symput("vN",compress(_n_));
   run;

%let var1=%str(&v1);

%let seed1=%str(&v1);

%put &v1 &var1 &seed1;
 %if %index(&seed1,&var1) %then %put right;
 %else %put wrong;

 %mend;
 %var;

这段在log里会报错,说%index有太多的参数;

但是我重新用%let v1=%str(210,);定义v1就不会有这个错误;请教各位问题出现在哪里?上面那段程序我怎么修改?谢谢大家

二维码

扫码加我 拉你入群

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

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

全部回复
2008-8-4 14:13:00

把 %if %index(&seed1,&var1) %then %put right;

改为 %if %index(%quote(&seed1),%quote(&var1)) %then %put right;试一下

二维码

扫码加我 拉你入群

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

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

2008-8-5 13:54:00

回复:(terryw)把 %if %index(&seed1,&...

谢谢,可以的!

二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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