2017年5月9日火曜日

My Favorite SAS Functions (1) CATS関数



個人的にお気に入りかつ使いこなすと便利な関数を紹介したいと思います。
まずは一番ヘビーに使うCATS関数から。



構文


    CATS( 変数1, 変数2, … )


指定した変数または値を結合する。
(変数または値の両脇の半角スペースは取り除いたうえで結合されます。)





今まで文字を結合する時は、以下Beforeのような書き方が定着しています。
それがCATS関数を使えば超スッキリと短い文で書けてしまいます。

Before
  length Y $20.;
  Y = trim(left(X1)) || trim(left(X2)) || trim(left(X3));


After
  length Y $20.;
  Y = cats(X1,X2,X3);





また、CATS関数にはもう1個便利な機能があります。SASYAMAさんが過去に紹介されてる以下を読んでください。
http://sas-tumesas.blogspot.jp/2015/06/cat.html

CATS関数に指定した変数が数値型の場合、BESTフォーマットを当てて文字値にしてくれるという機能を利用した小技ですね。
気をつけたいのが、BESTフォーマットに変換した値なので、元の変数値とは異なる(丸め処理が行われる)場合があることにご注意ください。

特に整数値を文字変換したい場合に使えます。
例えば「N=10」みたいな感じでN数を表す文字列を作りたい場合、以下Beforeのように書いていたところをAfterのように書けてしまいます。

Before
  length Y $20.;
  Y = "N=" || left(put(X,best.));


After
  length Y $20.;
  Y = cats("N=", X);





記事一覧

1.CATS関数

0 件のコメント:

コメントを投稿