今回は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のまま。