问题1:想通过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所在的位置不是最后一列,都不能得到想要的结果,求大神指点如何实现?
问题2:如何在数据集中建立类似其他数据库中的自动增长的序列?
在data步中可以用x=_n_实现,可是进一步更新数据集的时候不知道怎么办,例如在sql insert 数据后能够使该列自动增长?
问题3:base和advan的tutor都学完了想进一步深入学习sas的话,不知道该从什么方面下手?