SAS:将数据子集导出到Excel中的单独工作簿选项卡
问题:如何将数据集的子集导出到Excel工作簿的各个选项卡(最好是.xlsx),而无需多次运行SAS:将数据子集导出到Excel中的单独工作簿选项卡,sas,export,export-to-excel,Sas,Export,Export To Excel,问题:如何将数据集的子集导出到Excel工作簿的各个选项卡(最好是.xlsx),而无需多次运行PROC export 我的解决方案 该数据集包含15个指标。不幸的是,这些指标没有可以索引的名称。这意味着我不能将导出过程放入一个宏中,该宏在计数器上循环15次并在名称后面附加索引。这些指标(不是真的)像“汽车”、“卡车”、“自行车”、“恐龙”等 我想出的解决方案是这样的: proc export data = data_set (where = (indicato
PROC export
我的解决方案 该数据集包含15个指标。不幸的是,这些指标没有可以索引的名称。这意味着我不能将导出过程放入一个宏中,该宏在计数器上循环15次并在名称后面附加索引。这些指标(不是真的)像“汽车”、“卡车”、“自行车”、“恐龙”等 我想出的解决方案是这样的:
proc export data = data_set
(where = (indicator = "car"))
outfile = "c:\workbook.xlsx"
dbms = xlsx replace;
sheet = car;
run;
...
proc export data = data_set
(where = (indicator = "dinosaur"))
outfile = "c:\workbook.xlsx"
dbms = xlsx replace;
sheet = dinosaur;
run;
但是,这显然效率低下,需要某种自动化。您可以使用
libname
工具,这是proc export
在后台通常使用的工具
libname myexcel xlsx "c:\outwhatever\myfile.xlsx"; *can use XLSX if 9.4+ or EXCEL if earlier;
这将为您提供一个常规libname,就像它是SAS libname一样,您可以这样对其进行写入:
data myexcel.sheetname;
set whatever;
run;
或使用PROC COPY
或类似工具
还有其他选项(例如使用
OLEDB
或类似工具),但libname
是最简单的。有关更多详细信息,请参阅。如果您有SAS 9.4 ODS Excel,它非常简单和漂亮,请将“工作表间隔”选项设置为“按组”,并为工作表名称添加前缀
proc sort data=sashelp.class out=class;
by age;
run;
ods excel file='/folders/myfolders/sample.xlsx' options (sheet_interval='bygroup' sheet_label='Age');
proc print data=class noobs label;
by age;
run;
ods excel close;
你们有什么版本的SAS?如果9.4 ODS Excel可以自动使用,否则使用标记集,但它将创建一个xml而不是xlsx文件。我使用的是SAS 9.4。我不确定我还有哪些其他产品或维护更新。我该怎么查呢?谢谢你的提问,这是我在提问时应该记得提供的信息