2012-03-07 111 views
1

假設我有2個SAS數據集:test1.sas & Test2.sas。現在我想將這2個數據集導出到excel中,在excel文件Sheet1中將有test1.sas數據&在Sheet2中將有test2.sas數據。使用SAS導出到Excel

怎麼辦?

回答

3

this paper開始。 Thisthis也是很好的參考。

使用ODS,您可以使用報告過程(例如Proc PRINT和REPORT)將數據輸出到XML。您不僅可以創建多張表格輸出,還可以格式化日期,設置自動篩選器和放置標題。

+0

周杰倫這些都是很大的聯繫...謝謝! – 2012-03-07 15:38:14

+0

謝謝CarolianJay!我一定會看看這些參考資料。 – Beta 2012-03-07 17:34:04

0

如果它不是您想要自動化的東西,並且您正在使用Base SAS IDE,則只需右鍵單擊SAS Explorer窗口中的數據集並選擇View in Excel即可。

+0

感謝羅伯您的答案。我知道這種方法。但我需要一些可以自動執行我的任務的代碼。 – Beta 2012-03-07 17:35:18

1

@ 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。

+0

非常感謝。這些文獻真是太棒了。 – Beta 2012-03-10 16:57:04

0

我想說,導出到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;