想通过data步实现以下功能
data test;
input a @;
do i=1 to 3;
input b @;
output;
end;
datalines;
1 2 3 4
5 6 7 8
run;
proc print data=test(drop=i);
run;
这样的话能够得到想要的结果,即:一个a 对应3个b
Obsab
112
213
314
456
557
658但是如果a不是在第一列,就不知道怎么实现了
唯一能想到的是:
data test;
input @7 a @;
do i=1 to 3;
input @(2*i-1) b @;
output;
end;
datalines;
1 2 3 4
5 6 7 8
run;
proc print data=test(drop=i);
run;
这样也能得到想要的结果,即1个a对应3个b
Obsab
141
242
343
485
586
687但是如果数据长度不一,或者a所在的位置不是最后一列,都不能得到想要的结果,求大神指点如何实现?
另外还有个问题想请教,现在base和advan的tutor都学完了,想进一步深入学习一下,不知道该从什么方面下手?