2015-01-08 134 views
1

我的SAS代碼包含多個data步驟和proc sql - >彼此不相關。其中一些可能會引發錯誤。發生這種情況時,其餘代碼將終止。SAS:如何忽略錯誤?

我需要我的代碼繼續執行。即使發生錯誤,只要將其寫入日誌ERROR : ...,但仍然繼續執行。我怎樣才能做到這一點 ?

我嘗試了一些選項from here

options noerrorabend;

但我無法找到任何有用的

+1

添加了[tag:batch-processing],因爲這隻會在該模式下發生。 – Joe

回答

5

我會小心,在生產中這樣做,但現在看來,你可以回正常的處理模式,在每一個數據步驟之後放置這一行,並且易於出錯。它基本上解除了SAS遇到錯誤時切換到的通常模式。

options obs=max nosyntaxcheck; 
+3

同意'不要在生產中這樣做'。做。不。做。這個。在。生產。對於。任何。原因。句號。生產工作不應該有任何錯誤,任何彼此不同的工作都應該分開安排。 – Joe

1

似乎是一個設計問題。

將每個無關的步驟放到不同的.sas文件中。如果他們不相關,他們不應該在同一個文件中。

分別從UNIX腳本,Windows批處理文件或SAS調度程序或任何它恰好使用的每個.sas文件中調用。

如果其中一個有問題,它不會以任何方式影響下一個。

編輯:試圖打電話給他們一個又一個通過使用SAS %include聲明,因爲這將使用相同的SAS會話,從一個問題會影響下一個。