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】SUBSTR関数を使って右から文字列を切り取る方法について解説【LENGTHN】

今回はSUBSTR関数を使って右から文字列を切り取る方法について解説します。 (参考:【SAS】SUBSTR関数は文字列から指定した文字数分切り取る。 | ビジネスイッチ (how-to-busine …

【SAS】データセットをエクセルファイルとしてエクスポート(出力)する

今回はデータセットをエクセルファイルとしてエクスポートする方法について解説します。 data data1; id1=”1111″; id2=”1111″; id3=”1111″; output; id …

【SAS】YYMMDDの可能性を考える(表示できる日付形式はどこまでなのか)区切り文字の解説も

今回はYYMMDDにフォーカスして解説します。 前回、PUT+DATE,YYMMDDにより、SAS日付値を日付形式に変換表示する方法を解説しました。 【SAS】PUT+DATE,YYMMDDはSAS日 …

【SAS】DATETIME関数はSAS日時値を取得する。

今回はDATETIME関数について解説します。 /* datetime_1 */ data data1; aaaa = datetime(); run; datetime()はSAS時間値を取得する。 …

【SAS】ORDER BY句無しで抽出した際の出力順【SQL】

この記事の要約:「ORDER BYを使わない場合、SQLで抽出した際の並び順は保証されない」 SQL文で抽出を行った際に、困ったことが起きました。 同じPG文なのに1回目と2回目で出力結果に違いがある …