【发布时间】:2016-12-07 10:59:13
【问题描述】:
我有一个数据集如下:
ID Value
A 77
B 60
C 20
D 40
E 60
F 100
我还有另一个包含 6 个变量的数据集,比如说
A1 - A6
我想将上面的值乘以 A1-A6
比如 A1*A 的值 A2*B 的值
所以我是这样创建的
data _null_ ;
set have;
call symputx('value' || trim(left(_n_)),value);
call symputx('rows', _n_);
运行;
和
data want;
set have;
array XX(*) A1 - A6;
do i=1 to &rows;
XX(i)=mgpc(i)* &&value&i ;
end;
run;
但是当我运行它时它说
Apparent symbolic reference i not allowed.
WARNING: Apparent symbolic reference VALUE not resolved.
WARNING: Apparent symbolic reference I not resolved.
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.
【问题讨论】:
-
您的数组语句是否与您的调用符号在同一步骤中?
-
不,两者都在单独的数据步骤中
-
请发布导致此错误消息的代码的minimal, complete and verifiable 示例。
-
好的,我编辑了问题