SAS ^=(ノットイコール)

【SAS】^=(ノットイコール)

投稿日:2021年10月9日 更新日:

今回は^=について解説します。


/* ^="" */
data data1;
  id="A"; chiku="SHINJUKU";
    output;
  id="B"; chiku="ICHIGAYA";
    output;
  id="C"; chiku="SHIBUYA";
    output;
  id="D"; chiku="";
    output;
run;


data null_jogai; set data1;
  if chiku ^= "";
run;
  • ノットイコールは^=
  • char型の欠損値は””

/* is not "" */
data data1;
  id="A"; chiku="SHINJUKU";
    output;
  id="B"; chiku="ICHIGAYA";
    output;
  id="C"; chiku="SHIBUYA";
    output;
  id="D"; chiku="";
    output;
run;


data null_jogai; set data1;
  if chiku is not "";
run;

  • ノットイコールは^=
  • char型の欠損値は””
  • SASで is not ~は使えない。

/* <> "" */
data data1;
  id="A"; chiku="SHINJUKU";
    output;
  id="B"; chiku="ICHIGAYA";
    output;
  id="C"; chiku="SHIBUYA";
    output;
  id="D"; chiku="";
    output;
run;


data null_jogai; set data1;
  if chiku <> "";
run;

  • ノットイコールは^=
  • char型の欠損値は””
  • <>は不適切。

/*^= .*/
data data1;
  id="A"; chiku=1111;
    output;
  id="B"; chiku=2222;
    output;
  id="C"; chiku=3333;
    output;
  id="D"; chiku=.;
    output;
run;


data null_jogai; set data1;
  if chiku ^= .;
run;
  • ノットイコールは^=
  • 数値型の欠損値は「.」

/* ^= NULL */
data data1;
  id="A"; chiku=1111;
    output;
  id="B"; chiku=2222;
    output;
  id="C"; chiku=3333;
    output;
  id="D"; chiku=.;
    output;
run;


data null_jogai; set data1;
  if chiku ^= NULL;
run;

  • ノットイコールは^=
  • 数値型の欠損値は「.」
  • 「NULL」を変数として認識している。
  • 「NULL」は中身を定義されていないため、中身は「.」

-SAS, ^=(ノットイコール)

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

【SAS】PUTC関数は文字列に対して出力形式を指定して変換する。

今回はPUTC関数について解説します。 /* putc_1 */ proc format; value point “aaaa”=’Low’ “bbbb”=’High’; run; data data …

【SAS】SASで良く使うテクニック。その1 Excel関数のIF~2テーブルを比較したいとき~

今回はSASで良く使うテクニックということで、2テーブルを比較するときはExcelでIF関数を使うと良い理由を解説していきます。 ぜひ、やってみてください。 まずは比較したいデータセット2つをExce …

【SAS】「NOTE: PROC SQLはNOEXECオプションを設定し、ステートメントの構文をチェックします。」の対処法

今回はSQLプロシージャを実行した際に、NOEXECオプションを使用していないにも関わらず、 勝手にNOEXECオプションが有効になってしまう場合の対処法について解説します。 結論:構文エラーを正す。 …

【SAS】INTCK関数は指定された区間に指定された単位を何回跨ぐか数える。

data data1; Id1 =intck(“YEAR”, ’31Dec2019’d, ‘1Jan2020’d); run; 2019/12/31~2020/1/1の間に年を何回跨ぐか数える。 /* …

【SAS】PRINTプロシージャは入力データセットの中身を結果に表示する【obs=】

今回はPRINTプロシージャについて解説します。 /* print */ data data1; 番号=”AAAAAA”; コード=”02″; 金額=1999; output; 番号=”AAAAAA” …