我有一个看似简单的问题。虽然我一直在这里寻找一个解决方案,并且在互联网上寻找解决问题的一些方法,但没有任何作用。
我已使用以下代码从SAS导出到Excel:
libname xls excel '..\Test3.xlsx' scan_text = no ver=2007;
proc datasets lib = xls nolist;
delete Sweden;
quit;
data xls.Sweden;
set WORK.falcon_cases_2;
run;
libname xls clear;
然后使用此代码附加另一个表:
libname xls excel '..\Test3.xlsx' scan_text = no ver=2007 ;
proc append base = xls.Sweden
data = WORK.falcon_cases_NorDen_2;
run;
libname xls clear;
我必须这样做,因为这两个表的数据来自不同的SAS服务器数据表。
问题是这部分,
proc datasets lib = xls nolist;
delete Sweden;
quit;
仅删除指定范围,该范围仅扩展到放入电子表格的第一个数据集。因此,如果第一个表是10行而第二个表是15行,则在电子表格中最多可添加25行。删除完成后,仅清除前10行。 我尝试过使用
proc sql noprint;
drop table xls.'Sweden$'n;
quit;
但结果是一样的。这两种解决方案似乎仅限于指定范围内的清晰数据。
有什么建议吗?
答案 0 :(得分:0)
PROC EXPORT DATA= WORK.falcon_cases_2
OUTFILE= "..\Test3.xlsx"
DBMS=XLSX REPLACE;
SHEET="Sheet1";
RUN;
然后使用与之前相同的附加代码附加第二个表。因此,下次PROC EXPORT运行时,它会替换所有内容,从而解决我的问题:)