一种笨方法:
data a;
input v1 v2 v3;
cards;
. 70.00 75.00
5000.00 -150975.04 -91496.24
5200.00 -146216.74 -84358.78
;
run;
data b;
set a (firstobs=1 obs=1 drop=v1);
run;
data c;
set a (firstobs=2 obs=3 drop=v2 v3);
run;
proc transpose data=b out=d(drop=_name_ rename=(col1=v2));
run;
proc sql;
create table e as
select * from c,d
order by v2,v1;
quit;
data g;
set a (firstobs=2 obs=3 drop=v1 v3);
run;
data h;
set a (firstobs=2 obs=3 drop=v1 v2);
run;
proc append base=g data=h(rename=(v3=v2));
run;
data i;
merge e g(rename=(v2=v3));
run;