我正在尝试根据条件连接多个列。数据如下。
CRN Diff Pay1 Pay2 Pay3 Pay4 Pay5 Pay6 Pay7 Pay8 Pay9 Pay10
1 1 000 084 084 084 000 XXX 000 XXX XXX XXX
2 10 065 000 000 000 000 XXX XXX XXX XXX XXX
3 -1 000 XXX XXX XXX XXX XXX XXX XXX XXX XXX
4 3 XXX 000 000 000 000 000 000 000 000 000
5 -2 070 070 070 070 070 070 070 XXX XXX XXX
6 1 090 XXX XXX XXX XXX XXX XXX XXX XXX XXX我使用的代码如下所示。
data temp;
set temp;
format hist $200.;
array col(*) Pay1-Pay10;
if diff=-1 then hist=catx('',col(2-10));
else if diff=-2 then hist=catx('',col(3-10));
else hist=catx('',col(*));
run;我想连接基于diff=-1,-2等的列,并连接相应的列。
我得到的错误是“数组下标超出范围”。请帮帮忙。
发布于 2021-04-12 21:06:53
您的数组定义不允许使用-8或-7作为索引。只有1到10之间的整数。但看起来根本不需要定义或使用数组。
只需使用变量列表即可。将变量列表传递给函数时,请确保使用OF关键字。
if diff=-1 then hist=catx('',of pay2-pay10);
else if diff=-2 then hist=catx('',of pay3-pay10);
else hist=catx('',of pay1-pay10);https://stackoverflow.com/questions/67058375
复制相似问题