2016-11-29 28 views
-1

数字変数のSASデータセットで欠損値をNULLに設定しようとしています どうすればよいですか?SASでNULLに欠損値を設定する方法

sasではmissingがnullですか?

+0

[差異とSASのNULLの相違]の可能な複製(http://stackoverflow.com/questions/33922842/difference-between-missing-and-null-in-sas) – superfluous

+0

それを表示すると、重複している可能性がありますが、それは私には分かりません。 – Joe

答えて

1

あなたは、欠損値に対して表示、使用できない期間を持ってする方法を求めている場合スペースに。 SASは、欠落して表示するためにいくつかの文字を持っている必要があります、それは文字を許可しません。 SASは、それを表示しようとすると、それはいくつかの問題が発生するため、

options missing=%sysfunc(byte(255)); 

あるいは

options missing="%sysfunc(byte(0))"; 

私は後者をお勧めしません:あなたはまた、同様に、別の文字を選ぶことができます。

どこかに連結している場合は、スペースを削除することができます(長さゼロの文字列を許可するtrimn()を使用)。

0

非常に文字通り質問を取ると、あなたが欠落している値の文字列NULLを表示することを仮定して - 一つのアプローチは、カスタム書式を定義し、それを使用することです:

proc format; 
    value nnull 
    .a-.z = 'NULL' 
    .  = 'NULL' 
    ._ = 'NULL' 
    ; 
run; 

data _null_; 
    do i = .a,., ._, 1,1.11; 
    put i nnull.; 
    end; 
run; 
0

あなたが行方不明に値を設定することができますそれが数値データステップ、内:

age=.; 

に数値が欠落しているかどうかを確認するために使用します。

if numvar=. then do; 

または使用MISSING機能:

if missing(var) then do; 

はnullで、WHERE句で使用されている欠けています。しかし、実際にはnullに変更していない

options missing=' '; 

ではなく: を見てみましょう。http://www.sascommunity.org/wiki/Tips:Use_IS_MISSING_and_IS_NULL_with_Numeric_or_Character_Variables

関連する問題