2015-02-11 63 views
1

通常,我必須爲各種需求編寫單獨的SAS程序,其中最終輸出爲EXCEL文件。爲了可重複性,我經常將SAS代碼複製並粘貼到單獨的EXCEL表單中 - 因此,當出現類似請求或需要修改時,很容易回到原點。使SAS將代碼本身導出到EXCEL表中

現在我想知道是否存在一種方法來使SAS以自動方式將當前代碼導出到EXCEL表單中。如果SAS代碼已經保存爲硬盤上的物理文件(因此它不僅存在於工作存儲器中),那麼這樣的任務可能更容易 - 因此,讓我們假設事實確實如此。

回答

2

如果程序已保存爲文件,則可以將其讀入數據集(與讀取其他文件的方式相同)並將該數據集導出到Excel。這取決於你做這兩件事,SAS給你很多選擇。

至於告訴哪個程序正在執行,它隨着你如何運行事情而變化。如果您正在使用DM SAS和增強的編輯器,你可以使用此代碼:

%let filename= %sysget(SAS_EXECFILEPATH)\%sysget(SAS_EXECFILENAME); 
%put &=filename; 

現在&filename.保持當前程序的路徑和文件名。

如果您批量運行,則必須使用環境變量SYSIN。其他模式有不同的方法,並不總是可能的(例如,如果你在一個EG項目的嵌入式程序中)。有關更多詳細信息,請參見this doc page