我正在尝试将比较结果输出到excel或pdf以获取库中的所有输出。这是我写的
%DO I = 1 %TO &coun;
%LET DT = %SCAN (&DS_LIST., &I., ~);
ods excel file="D:\test.xlsx";
PROC COMPARE BASE = BASE.&DT. COMPARE = COMPARE.&DT. OUTNOEQUAL OUTBASE
OUTCOMP OUT = COMPAREOUT;
RUN
;
ods excel close;
然而它只给我最后一个数据集输出..这里有什么问题?
答案 0 :(得分:3)
您尚未显示%END
循环的%DO
。我认为你在循环中打开和关闭ODS EXCEL目的地。 ODS EXCEL不会附加到现有文件,因此您只能获取列表中最后一个数据集的比较输出。试试这个
* open ODS destination;
ods excel file="D:\test.xlsx";
* loop over data sets in DS_LIST, get compare report for each;
%DO I = 1 %TO &coun;
%LET DT = %SCAN (&DS_LIST., &I., ~);
PROC COMPARE BASE = BASE.&DT. COMPARE = COMPARE.&DT. OUTNOEQUAL OUTBASE
OUTCOMP OUT = COMPAREOUT;
RUN;
%END;
* close the ODS destination that contains the output from &coun comparisons;
ods excel close;
答案 1 :(得分:-1)
您是否尝试过将Excel文件作为库加载?这样你就可以直接使用proc比较......
LIBNAME xdbsss EXCEL PATH="<path and file>.XLSX" SCAN_TEXT=NO;