proc import datafile="&file"
dbms=xlsx replace
out=&dataset;
sheet="&sheetdata";
getnames=no;
run;
data &dataset._1;
set &dataset;if _n_ = 1;
run;
proc transpose data = &dataset._1 out = &dataset._2
name = oldvar;
var _all_;
run;
proc sql noprint;
select catx("=",strip(oldvar),quote(strip(COL1))) into:label separated by " " from &dataset._2;
quit;
data &dataset._3;
set &dataset;if _n_ = 2;
run;
proc transpose data = &dataset._3 out = &dataset._4
name = oldvar;
var _all_;
run;
data &dataset._4;
set &dataset._4;
run;
proc sql noprint;
select cats(oldvar,"=",cats("_",COL1)) into:rename separated by " " from &dataset._4;
quit;
data &dataset;
set &dataset;
if _n_ >2;
rename &rename;
label &label;
run;
proc delete data = &dataset._1 &dataset._2 &dataset._3 &dataset._4;run;