2016-12-01 57 views
0

我正在尋找一個簡單的解決辦法,使配料SAS程序,這將直接從CMD運行,例如, "C:\Program Files\SASHome2\SASFoundation\9.4\sas.exe" -CONFIG "C:\Program Files\SASHome2\SASFoundation\9.4\nls\en\sasv9.cfg" -sysin "C:\Users\Documents\sas\Run_Program.sas" -LOG "C:\Users\Documents\sas\f2.log"配料SAS工作

但問題是,我有兩個SAS文件 - 一個代表配置,第二個 - 程序(配置文件加載特定數據集,全局變量等)。

有沒有一個簡單的解決方案,我可以如何使用當前文件結構從cmd中自動執行程序運行過程。

其他被認爲的想法: 我已經考慮創建新的(動態)sas文件batch.sas及其內容%inc "config.sas"; %inc "program.sas"其中「program.sas」是爲每次運行提供的動態參數。

+0

爲什麼不製作一個autoexec.sas文件? – Tom

回答

1

如果我理解正確 - 您希望在program.sas文件之前運行config.sas文件?你通過%inc這樣的建議是一個很好的,另一種辦法是打電話給你config.sas上的啓動文件,通過使用它作爲一個自動執行,例如如下:當

"C:\Program Files\SASHome2\SASFoundation\9.4\sas.exe" 
    -CONFIG "C:\Program Files\SASHome2\SASFoundation\9.4\nls\en\sasv9.cfg" 
    -sysin "C:\Users\Documents\sas\Run_Program.sas" 
    -LOG "C:\Users\Documents\sas\f2.log" 
    -autoexec "C:\Users\Documents\sas\config.sas" 

的自動執行文件運行一次, SAS會話被初始化。如果需要,您的config.sas文件可以通過調用任何相關/現有的自動執行文件開始。

+0

是否有可用參數列表SAS支持/一些未記錄的選項? –

+0

http://support.sas.com/documentation/cdl/en/allprodslang/63337/HTML/default/viewer.htm#syntaxByType-systemOption.htm –

+0

一個簡短的問題:有什麼辦法可以運行兩個程序不同的自動執行但保留部分結果,例如每個工作的表? –

1

autoexec解決方案是一個合理的解決方案,但我認爲,除非你是總是(在你運行的每一個SAS程序/會話中)加載完全相同的配置,最終正確的方法是同樣的方式c程序已經用頭文件做了幾十年。

如果您有一個config.sas加載特定程序的數據集,該程序應在頂部包含%include config.sas。然後您只需批量加入該程序。