2017年5月26日金曜日

My Favorite SAS Functions (5) COALESCE / COALESCEC関数


第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  
   

  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さんの記事でもコールエッセって読んでたってお話しがありますね。
私はコアレスシって読んでました。



記事一覧

1.CATS関数
5.COALESCE・COALESCEC関数

0 件のコメント:

コメントを投稿