2016-09-16 12 views
0

私は次のコードをSASに持っています。私は、abo_idとabo_bklantidの値が一致しないデータセットを取得しようとしています。Where節がうまくいかないようです。

data set_2 
set final_set; 
where abo_id != abo_bklant_id; 
run; 

しかし、これは、次のエラーtrows:私は間違って行く

ERROR: Syntax error while parsing WHERE clause. 
ERROR: No input data sets available for WHERE statement. 
ERROR 56-185: SET is not allowed in the DATA statement when option DATASTMTCHK=COREKEYWORDS. Check for a missing semicolon in the 
      DATA statement, or use DATASTMTCHK=NONE. 

ERROR 22-322: Syntax error, expecting one of the following: a name, a quoted string, a numeric constant, a datetime constant, 
      a missing value, INPUT, PUT. 

ERROR 76-322: Syntax error, statement will be ignored. 

任意の考えを?

答えて

0

あなたは!=オペレータがSASには有効ではありません

data set_2; /* <<< here! */ 
set final_set; 
where abo_id ne abo_bklant_id; /* <<< cannot use != in SAS */ 
run; 

:-)あなたの最初の行も(クレジットロバートS.)にセミコロンが欠落しています。

+3

SASには、 '!='演算子はありません。代わりに、 '^ ='または 'ne'または' <> '演算子を使用してください。 –

+0

良い点、答えが更新されました! –

+3

<>を使用しないでください。ほとんどのSASでは、MAX演算子であり、NE演算子ではありません。 '-1 <> 0'は0で-1より大きいため0です。しかし、-1は0に等しくないので、 '-1^= 0'は1です。 – Tom

関連する問題