data raw;
input no name$ subject$ score;
datalines;
1 zhangsan Chinese 59
1 zhangsan Math 86
1 zhangsan English 75
2 lisi Chinese 78
2 lisi Math 85
2 lisi English 78
;
run;
proc transpose data=raw out=final(drop=_name_);
var score;
id subject;
by no name;
run;