用proc transpose 简单些, 用 array in data step 也可以做。
data a;
input code  $     date : yymmdd10.    price;
format date yymmdd10.;
cards;
  000001  2007-10-16    15
  000001  2007-10-17    16
  000001  2007-10-18    14
  000001  2007-10-19    15
  000002  2007-10-15    19
  000002  2007-10-16    17
  000002  2007-10-17    19
  000002  2007-10-18    12
  000002  2007-10-19    19
;
run;
proc sort data=a;
by date code;
run;
proc transpose data=a out=b prefix=code;
id code;
by date;
var price;
run;
proc print data=b;
run;