data have;
input ID $ Month:yymmn. Var1 $ Var2 $;
format month yymmn.;
cards;
1 200101 SD DE
1 200102 EF GH
1 200103 HK LM
2 200101 GH LM
2 200105 JH KJ
;
run;
proc transpose data=have out=interim;
by ID Month;
var Var1 Var2;
proc transpose data=interim out=want( drop = _name_ );
by ID;
var Col1;
ID _NAME_ Month;
run;
proc sql; drop table interim; quit;