第5回目は、COALESCE / COALESCEC関数。
お気に入り関数トップ3のうちのひとつです(あと2つは WHICHN、CHOOSEN)
この関数は「引数のうち最初に欠損値以外で登場する値を返す」という機能を持っています。
基本的な構文や機能は以下記事で紹介済みなので、そちらをご覧ください。
http://sas-boubi.blogspot.jp/2016/04/coalesce.html
データステップ100万回でも特集されてます。
http://sas-tumesas.blogspot.jp/2013/09/sas3null.html
上の過去記事でさんざん例を紹介済みな感じですが、あらためて。
以下X1~X3の中から最初に欠損値以外で登場する値を返したいとします。
X1
|
X2
|
X3
|
Y
|
---|---|---|---|
aa | bb | aa |
以下、COALESCEC関数を使わない場合(Before)と、使う場合(After)。
Before
length Y $2.;
if X1^="" then Y=X1; else if X2^="" then Y=X2; else if X3^="" then Y=X3; |
After
length Y $2.;
Y = coalescec( X1,X2,X3 ); |
いいですね~このスッキリ感がたまらないですね。
ちなみにCOALESCE関数あるあるだと思うんですが、読み方が最初よく分からなくて、綴りをいちいち調べてた時期がありました。
コアレスと読むそうです。
上にリンク貼ったSASYAMAさんの記事でもコールエッセって読んでたってお話しがありますね。
私はコアレスシって読んでました。
5.COALESCE・COALESCEC関数
0 件のコメント:
コメントを投稿