假設我有2個SAS數據集:test1.sas & Test2.sas。現在我想將這2個數據集導出到excel中,在excel文件Sheet1中將有test1.sas數據&在Sheet2中將有test2.sas數據。使用SAS導出到Excel
怎麼辦?
假設我有2個SAS數據集:test1.sas & Test2.sas。現在我想將這2個數據集導出到excel中,在excel文件Sheet1中將有test1.sas數據&在Sheet2中將有test2.sas數據。使用SAS導出到Excel
怎麼辦?
從this paper開始。 This和this也是很好的參考。
使用ODS,您可以使用報告過程(例如Proc PRINT和REPORT)將數據輸出到XML。您不僅可以創建多張表格輸出,還可以格式化日期,設置自動篩選器和放置標題。
如果它不是您想要自動化的東西,並且您正在使用Base SAS IDE,則只需右鍵單擊SAS Explorer窗口中的數據集並選擇View in Excel
即可。
感謝羅伯您的答案。我知道這種方法。但我需要一些可以自動執行我的任務的代碼。 – Beta 2012-03-07 17:35:18
@ CarolinaJay65的答案中的ODS方法非常靈活,但如果您只是想要一個原始輸出,它們可能會過度。
一個更簡單的選項,如果它在SAS安裝中可用,則使用excel libname引擎。這使您可以將excel工作簿用作sas庫,庫中的每個數據集都佔用工作簿中的一個工作表。
http://www.wuss.org/proceedings09/09WUSSProceedings/papers/app/APP-Benjamin.pdf
如果你也想自動很多格式的或產生進一步的輸出(如圖表),使用ODS的替代方法是創建一個VBA宏,它保存在一個模板的工作簿,有SAS通話
http://www.lexjansen.com/pharmasug/2005/coderscorner/cc21.pdf
這使您可以使用Excel的宏錄製捕捉到你想要實現自動化,而不是工作,如何產生等效輸出的行動:即宏通過DDE命令輸出上有運行通過ODS/DDE。
非常感謝。這些文獻真是太棒了。 – Beta 2012-03-10 16:57:04
我想說,導出到Excel的最簡單的方法(取決於您的SAS版本)是使用PROC EXPORT並將excel指定爲您的dbms。您可以指定要更新的相同文件,但可以爲您調用的每個proc導出指定不同的選項卡。
,以便與兩個單獨的選項卡兩個數據集的例子:
proc export data=test1 dbms=excel
replace outfile ="C:\Your_file_path\your_file.xls";
sheet = sheet1;
run;
proc export data=test2 dbms=excel
replace outfile ="C:\Your_file_path\your_file.xls";
sheet = sheet2;
run;
周杰倫這些都是很大的聯繫...謝謝! – 2012-03-07 15:38:14
謝謝CarolianJay!我一定會看看這些參考資料。 – Beta 2012-03-07 17:34:04