2015-07-10 4293 views

回答

2

SAS評估在IF-THEN語句的表達以產生結果要麼是非零,零,或丟失。一個非零且非拒絕的結果會導致表達式爲真;零或缺失的結果導致表達式爲假。

如果符合在IF子句中指定的條件,則IF-THEN語句將執行SAS語句,用於從SAS數據集中讀取的觀察值,外部文件中的記錄或計算值。如果不執行THEN子句,則可選的ELSE語句提供了一個替代操作。 ELSE語句(如果使用)必須緊跟IF-THEN語句。

使用IF-THEN語句而不使用ELSE語句會導致SAS評估所有IF-THEN語句。對ELSE語句使用IF-THEN語句會導致SAS執行IF-THEN語句,直到遇到第一個true語句。後續的IF-THEN語句不會被評估。 (來源:support.sas.com)

DO語句是DO組處理的最簡單形式。 DO和END語句之間的語句被稱爲DO組。您可以在DO組中嵌套DO語句。

在IF-THEN/ELSE語句中,通常使用一個簡單的DO語句來指定要執行的一組語句,具體取決於IF條件是真還是假。 (來源:support.sas.com)

問候, 瓦西里

1

簡化你可以說,如果那麼是一個語句,如果然後做一個語句塊。如果您在Datastep中使用if,那麼它會阻止特定設置的輸出。

實施例:

data x; 

set y; 
if a = 1 then /*one statment is following*/ 
b=2; 

if a = 1 then do; /* a block of statements is follwing till end statement, similar to brackets in other programming languages*/ 
b=2; 
c=3; 
end; 

if a = 1; /*only when a = 1 data will be written to x*/ 

run; 
相關問題