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】SAS Studioのフィルター機能の使い方を解説 その1 ~文字型~

今回はSAS Studioのフィルター機能について解説します。 /* 文字型 */ data data1; id1=”1111″; id2=”1111″; id3=”1111″; output; id …

【SAS】%MACROはマクロを定義することができる。その4 引数違いの同名マクロは区別できない。【%MEND】

今回は引数違いの同名マクロについて解説していきたいと思います。(事前に読んでおきたい記事:【SAS】%MACROはマクロを定義することができる。その3 マクロには引数を設定できる。【%MEND】 | …

【SAS】WHEREステートメントはPRINTプロシージャ内で使用ができる。【IFステートメントは使えない】【SAS Base Programming対策6】

/* where */ data data1; Id1=1111; Id2=1111; Id3=1111; output; Id1=2222; Id2=2222; Id3=2222; output; …

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

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

【SAS】ORDER BYは指定した項目の順番でレコードを並び替える。【SQL】

今回はORDER BYについて解説します。 /* order by_1 */ data data1; Id1=1111; Id2=1111; Id3=1111; output; Id1=2222; I …