COALESCE SAS

【SAS】COALESCEはNULLを数字に置き換える

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

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


/*coalesce 正常形*/
data data1;
  id="A"; chiku=1111;
    output;
  id="B"; chiku=2222;
    output;
  id="C"; chiku=3333;
    output;
  id="D"; chiku=.;
    output;
run;


data data2; set data1;
  chiku = coalesce(chiku,4444);
run;

  • coalesceはchikuがNULLのときに4444を埋める。
  • coalesceは数値型のみ使える。

/*coalesce 文字列+文字列*/
data data1;
  id="A"; chiku="SHINJUKU";
    output;
  id="B"; chiku="ICHIGAYA";
    output;
  id="C"; chiku="SHIBUYA";
    output;
  id="D"; chiku="";
    output;
run;


data data2; set data1;
  chiku = coalesce(chiku,"TOKYO");
run;

  • coalesceはchikuがNULLのときに”TOKYO”を埋めようとする?(埋められない)。
  • coalesceは数値型のみ使える。
  • chikuの文字列をNULLとして扱っている(?)
  • “TOKYO”を入れられないからNULLになった(?)

/*coalesce 文字列+数値*/
data data1;
  id="A"; chiku="SHINJUKU";
    output;
  id="B"; chiku="ICHIGAYA";
    output;
  id="C"; chiku="SHIBUYA";
    output;
  id="D"; chiku="";
    output;
run;


data data2; set data1;
  chiku = coalesce(chiku,4444);
run;

  • coalesceはchikuがNULLのときに4444を埋めようとする。
  • coalesceは数値型のみ使える。
  • chikuの文字列をNULLとして扱っている(?)
  • 全てNULLとして扱ったために、全て4444になった(?)

/*coalesce 数値+文字列*/
data data1;
  id="A"; chiku=1111;
    output;
  id="B"; chiku=2222;
    output;
  id="C"; chiku=3333;
    output;
  id="D"; chiku=.;
    output;
run;


data data2; set data1;
  chiku = coalesce(chiku,"TOKYO");
run;
  • coalesceはchikuがNULLのときに”TOKYO”を埋めようとする?(埋められない)。
  • coalesceは数値型のみ使える。
  • “TOKYO”を入れられないからNULLはNULLのまま。

-COALESCE, SAS

執筆者:


comment

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

関連記事

【SAS】PROC PRINTTO LOGはログをファイルとして出力する。【NEW】

今回はPROC PRINTTO LOGについて解説します。 /* log_1 */ proc printto log = “/home/xxxxxxxxxx/sasuser.log” new; run …

【SAS】CATX関数は区切り文字を設定し、変数を結合することができる。

今回はCATX関数について解説します。 /* , */ data data1; Id1=1111; Id2=1111; Id3=1111; output; Id1=2222; Id2=2222; Id …

【SAS】SASで良く使うテクニック。その5 「SUM関数」~データセットの差分がいくつあるのか数えたい時~【Excel】

今回はSASで良く使うテクニックということで、データセットの差分がいくつあるのか数えたいときは「SUM関数」が役に立つ理由を解説していきます。 (参考:【SAS】SASで良く使うテクニック。その1 E …

【SAS】マクロ変数の&&について解説

今回はマクロ変数の&&について解説していきます。 (参考:%PUT 【SAS】%PUTステートメントは文字列をログに出力する。その1 | ビジネスイッチ (how-to-busines …

【SAS】SETステートメントに複数データセットを設定すると縦結合できる

今回はSETについて解説します。 /* 1~7 */ data data1; Id1=1111; Char1=”AAAA”; output; Id1=2222; Char1=”BBBB”; outpu …