我写了个代码,应该能解决你的问题。
- /*excel表的第一行是变量名第二行是标签名的导入*/
- %let dir=d:\fcy\excel.xls;/*excel文件路径*/
- %let sheet=sheet1;/*sheet名称*/
- proc import out=a datafile="&dir." dbms=excel replace ;
- sheet="&sheet.";getnames=no;scantext=yes;mixed=yes;run;
- data b;
- set a;
- if _n_ le 2;
- run;
- proc transpose data=b out=data1;
- var _all_;
- run;
- data data1;
- set data1;
- file "d:\try.txt";/*会在d盘出现一个try.txt*/
- put '%label(' col1 ',' col2");";
- run;
- proc import out=a datafile="&dir." dbms=excel replace ;
- sheet="&sheet.";getnames=yes;scantext=yes;mixed=yes;run;
- %macro label (var,label);
- label &var.="&label.";
- %mend label;
- data result;
- set a;
- %include "d:\try.txt";
- if _n_=1 then delete;
- run;
- /*result即为最终结果*/
复制代码
试试吧,中间会在d盘出现一个try.txt,如果你分区没d盘就要改成其他路径了,这个随你,方法比较笨的说。。。