楼主: fyfzhdsfdx
2164 11

[原创博文] 急求高手! [推广有奖]

11
fyfzhdsfdx 发表于 2012-9-13 19:39:37
ziyenano 发表于 2012-9-13 17:51
%macro k(t,h,n);
proc iml;
%do &n=1 %to 30;        /*如果只有30个数据集的 ...
高手,这个程序现在还是错的
ERROR: 在需要数值操作数的 %EVAL 函数或 %IF 条件中发现字符操作数。条件是:&(hs_&n);
ERROR: %TO 值(%DO I 循环中)无效。
ERROR: 宏 k 将终止执行。
我之所以把n设为参数是因为不加的话hh_n不能识别。十分感谢。

12
ziyenano 发表于 2012-9-13 19:54:16
fyfzhdsfdx 发表于 2012-9-13 19:39
高手,这个程序现在还是错的
ERROR: 在需要数值操作数的 %EVAL 函数或 %IF 条件中发现字符操作数。条件是 ...
额,不能这么改啊。。。
call symput('hs_&n',compress(char(hs_&n)));
比如n=1,
这样是把hs_1的值,赋给宏变量hs_&n,不是hs_1;
而且没有这种解析的&(hs_&n);
%do &n=1 %to 30;  这里不需要&n,改成%do n=1 %to 30;
下面hh_&n可以解析。

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-1 03:29