楼主: Oleander_
888 0

[问答] 关于普通程序变成宏的改写报错的问题。。 [推广有奖]

  • 0关注
  • 0粉丝

本科生

61%

还不是VIP/贵宾

-

威望
0
论坛币
18 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
1245 点
帖子
25
精华
0
在线时间
132 小时
注册时间
2018-9-13
最后登录
2023-9-13

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
我想做一个Q01 1099 1
Q01 1099 3
Q01 1099 5
Q01 1099 7
这样的数据集。。然后写的宏是
%macro macro1(usubjid=);
    data test8;
    qstestcd='Q01';
    visit=%eval(1);
        usubjid=&usubjid;
    %do %until(visit>%eval(7));
        visit=%eval(visit+2);
    %end;
        run;
%mend macro1;
%macro1(usubjid=1099);

然后报错了- -
ERROR: A character operand was found in the %EVAL function or %IF condition where a numeric operand is required. The condition was:
       visit+2
ERROR: The macro MACRO1 will stop executing.
ERROR 22-322: Syntax error, expecting one of the following: a name, a quoted string, a numeric constant, a datetime constant,
              a missing value, INPUT, PUT.

请问是哪里错了- -另外如果usubjid有好几个值的话,能用循环或者宏把这些数据弄到一个数据集里吗


二维码

扫码加我 拉你入群

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

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

关键词:数据集

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-24 16:49