Thanks for posting a nice example dataset.
Do the transposition from wide to long with PROC TRANSPOSE, and use an informat for the conversion:
proc transpose
data=swimminutes
out=long (rename=(col1=minutes))
;
by name age;
var mon--wed;
run;
proc format;
invalue myweekday
"Mon" = 1
"Tue" = 2
"Wed" = 3
;
run;
data want;
set long;
day = input(_name_,myweekday.);
drop _name_;
run;
... View more