Sas 宏VARNUM中的Proc内容

Sas 宏VARNUM中的Proc内容,sas,Sas,我正在将SAS内容导出到excel文件,效果很好。但是VARNUM选项似乎不起作用,变量在excel工作表中按字母顺序排列 这是循环 proc sql; select count(Name) into :NumOfDatasets from Datas; select Name into :Dataset1-:Dataset%trim(%left(&NumOfDatasets)) from datas; quit; %do index = 1 %to &

我正在将SAS内容导出到excel文件,效果很好。但是VARNUM选项似乎不起作用,变量在excel工作表中按字母顺序排列

这是循环

proc sql;
    select count(Name) into :NumOfDatasets from Datas;
    select Name into :Dataset1-:Dataset%trim(%left(&NumOfDatasets)) from     datas;
quit;

%do index = 1 %to &NumOfDatasets;

    proc contents data=&ImportLibrary..&&Dataset&index. varnum
    out=&ExportLibrary..&&Dataset&index. (keep=name label);run;

    proc export data=&ExportLibrary..&&Dataset&index.
    outfile="&ExportLocation"
    dbms=excelcs replace;
    sheet="&&Dataset&index";
    run;

%end;

proc contents
上的
varnum
选项仅影响过程的报告输出,而不影响使用
out=
选项生成的数据集

您只需在
内容
导出
过程之间添加
过程排序
(并将
保留=
数据集选项从
内容
移动到
导出
过程):

proc sql;
  select count(Name) into :NumOfDatasets from Datas;
  select Name into :Dataset1-:Dataset%trim(%left(&NumOfDatasets)) from datas;
quit;

%do index = 1 %to &NumOfDatasets;

  proc contents data=&ImportLibrary..&&Dataset&index.
                out=&ExportLibrary..&&Dataset&index.;
  run;

  proc sort data=&ExportLibrary..&&Dataset&index.;
    by varnum;
  run;

  proc export data=&ExportLibrary..&&Dataset&index.(keep=name label)
              outfile="&ExportLocation"
              dbms=excelcs
              replace;
    sheet="&&Dataset&index";
  run;
%end;