我有一个表,其中包含一个帐户字段,它们各自的最后一次付款。例如:
acc | lastpayment
1111 100.00
1111 150.00
1111 110.00
1112 111.00
1113 200.00
1114 300.00这些记录将有重复,因为它将包含有多次付款的帐户(例如。在上述3项纪录中)。
我只想显示每个帐户的前6个付款,然后将表列显示为
acc | lastpayment1 | lastpayment2 | lastpayment3 | lastpayment4 | lastpayment5 | lastpayment6 这个是可能的吗?
任何帮助都将不胜感激。
发布于 2019-04-24 05:55:16
创建一个view,它选择您想要的'N‘行,每个组,然后TRANSPOSE视图
data top6;
set have;
by acc;
if first.acc the seq = 1; else seq + 1;
run;
proc transpose data=top6 out=want;
by acc;
var lastpayment;
run;或
创建包含数组和陶氏循环的数据步骤视图
data want (keep=acc lastpayment1-lastpayment6) / view=want;
do _n_ = 1 by 1 until (last.acc);
set have;
by acc;
array payments lastpayment1-lastpayment6;
if _n_ <= dim(payments) then
payments(_n_) = lastpayment;
end;
run;https://stackoverflow.com/questions/55821140
复制相似问题