2017年7月13日木曜日

欠損値の判定【IS NULL】【IS MISSING】【MISSING関数】




WHEREステートメントに、「変数が欠損値」という条件を入れたい場合、以下のように書く方が多いと思います。


・数値変数の場合
  where X = .;

・文字変数の場合
  where X = ””;



別の書き方として、以下のように書くことも出来ます。
  where X is null;        /* is null */
  where X is missing;  /* is missing */
  where missing(X);    /* missing関数 */


変数が欠損値”以外”の場合はnotをつけます。
  where X is not null;        /* is null */
  where X is not missing;  /* is missing */
  where not missing(X);    /* missing関数 */



📝この3つの書き方は

  • 欠損値および特殊欠損値に反応します(特殊欠損値については、あまり使用されていない&それ故に使用すると混乱を招きがちなので、本記事では説明を省略。。)
  • 変数が数値型だろうが文字型だろうが、関係なく通るので便利です
  • ただし「is null」と「is missing」は、WHEREステートメントでした使えない書き方です

IF文とかで使いたい場合は、missing関数が使えます。
  if missing(X) then Y=1;



0 件のコメント:

コメントを投稿