全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1848 4
2013-09-25
程序如下:

%macro test1(arrv,gr);
  
  data _null_;
         
     array vars (*)$ &arrv. ;
     call symputx ("dim_exposure", dim(vars));
     do i=1 to dim(vars);     
     call symputx (cats ("exposure_",i),vname(vars(i)));
     end;
     run;
         
     data t;
     set t;
     %do i=1 %to &dim_exposure;
     if count (renal_diag, "&&exposure_&i")>0 then gr_nu= &gr. ;
     %end;     
     run;
%mend test1;

%test1 (arrv=a11 b11.2 c11, gr=1);

错误如下:

40          a11 b11.2 c11
                 _____
                 22
                 201
WARNING: Apparent symbolic reference DIM_EXPOSURE not resolved.
ERROR: A character operand was found in the %EVAL function or %IF condition where a numeric operand is required. The condition was:
        &dim_exposure
ERROR: The %TO value of the %DO I loop is invalid.
ERROR: The macro TEST1 will stop executing.
ERROR 22-322: Syntax error, expecting one of the following: a name, (, -, :, ;, _ALL_, _CHARACTER_, _CHAR_, _NUMERIC_.  

ERROR 201-322: The option is not recognized and will be ignored.

请教高人
二维码

扫码加我 拉你入群

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

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

全部回复
2013-9-25 22:38:19
b11.2??这个是什么?
二维码

扫码加我 拉你入群

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

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

2013-9-25 23:02:59
妖帝东皇 发表于 2013-9-25 22:38
b11.2??这个是什么?
这是一种病的代码,代码含有小数位,因为这个小数位没办法run 宏
二维码

扫码加我 拉你入群

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

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

2013-9-25 23:29:56
b11.2的问题 宏参数取 a11 b11.2 c11没有问题   问题是b11.2不能作为数组vars[2]的名字 明显的命名不规则  把b11.2去掉就好了~~
二维码

扫码加我 拉你入群

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

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

2013-9-26 17:04:37
beijingdizheng 发表于 2013-9-25 23:29
b11.2的问题 宏参数取 a11 b11.2 c11没有问题   问题是b11.2不能作为数组vars[2]的名字 明显的命名不规则   ...
问题在于,寻找的目标就是b11.2,如果单写b11那会错误的把b11.3也算入里面,有没有更好的发法呢?
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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