2007年3月9日金曜日

V9での新機能「CAT/CATS/CATT/CATX関数」



これまた便利な関数が仲間入りしました。



いわゆる文字列結合をした結果を返すCAT関数です。


CATS/CATT/CATX関数も同じ仲間ですが、動作に少し違いが出ます。


詳しくは下記で説明していきます。)




V8までですと、文字列結合する場合は



 var1 = "ABC" || "DEF" ;



のように、"||"で文字列(文字変数)同士を結合していました。


(ちなみに、"!!"でも記述できました。かなりマニアック?)





V9でCAT(CATS/CATT/CATX)関数を使うと以下のように記述できます。



 data _NULL_ ;


  x = "NI " ; * Iの後にブランク ;


  y = " Nature Insight " ; * Nの前にブランク、tの後にブランク ;


  z = " Co.,Ltd. " ; * Cの前にブランク、d.の後にブランク ;


  z1 = cat (x, y, z) ;


  z2 = cats(x, y, z) ;


  z3 = catt(x, y, z) ;


  z4 = catx("_", x, y, z) ;


  put z1 = ;


  put z2 = ;


  put z3 = ;


  put z4 = ;


 run ;




先に、実行結果を見てみます。


 f:id:n-insight:20070308182526g:image


関数の戻り値の格納先の変数(z1~z4)には、文字変数を結合した値が入っていますね。


(値は微妙に違っていますが)




では、1つずつ説明していきます。



・CAT関数


 引数で指定した文字列(文字変数)を単純に結合します。


・CATS関数


 引数で指定した文字列(文字変数)を、それぞれの最初と最後のブランクを取り除いて結合します。


・CATT関数


 引数で指定した文字列(文字変数)を、それぞれの最後のブランクのみを取り除いて結合します。


・CATX関数


 引数で指定した文字列(文字変数)を、それぞれの最初と最後のブランクを取り除き


 第1引数で指定したデリミタ(区切り文字)を付加して結合します。




ログからですと、少し分かりにくいかもしれませんが、


1つ1つを注意深くみると、上で説明した通りの結果が返ってきていることが分かります。


(文字列中のブランク("Nature Insight"ですとeとIの間のブランク)は取り除かれないようです。)





V8で実行すると、完全なシンタックスエラーになります。


 f:id:n-insight:20070308185127g:image






動きはさりげないですが、大量の文字列(文字変数)を結合するとき等は重宝しそうですね。


(var1 || var2 || var3 || var4 || var5 ||~のように"||"を沢山記述する必要がなくなるので)



ちなみに、CAT関数という名称は、おそらく「concatenate(連結させる)」から取ったものと思われます。


0 件のコメント:

コメントを投稿

ツイート数からみる"バーチャルYouTuber"ブーム

今や YouTuber の話題の半分を占めるほどのクチコミ数に 当社が提供するソーシャルビッグデータ検索ツールの「 beInsight (ビーインサイト)」を使って、話題の「バーチャル YouTuber 」について調べてみました。 「バーチャル YouTuber...