2007年2月26日月曜日

percentNフォーマット



SASでは様々な種類のフォーマット(出力形式)が用意されていますが、


今回はpercentNフォーマットを紹介します。



名前から想像つくかもしれませんが、


指定した数値変数を、いわゆるパーセンテージ形式で表示します。



例えば、以下のようなデータセットがあるとき、


 f:id:n-insight:20070225212817j:image



2つの変数(ここでは、「currentSales」と「previousSales」)を元に、


前年比を算出する場合には、以下のようなプログラムを作ります。



 data temp2 ;


  set temp ;


  * 前年比算出 ;


  year_on_year = currentSales / previousSales ;


 run ;



これを実行した結果をVIEWTABLEで表示すると、


 f:id:n-insight:20070225213843j:image


のようになります。



percentNフォーマットを使用せずに、これをパーセンテージ形式で表示させるには


100で乗算し、その結果をINT関数やROUND関数で調整します。




percentNフォーマットを使用する場合は、以下のようなプログラムを書きます。



 data temp2 ;


  format year_on_year percent12. ;


  set temp ;


  year_on_year = currentSales / previousSales ;


 run ;



このプログラムを実行した結果は以下の通りです。


 f:id:n-insight:20070225212859j:image


100で乗算する処理を記述していませんが、


いわゆるパーセンテージ形式での表示になっています。




また、



 data temp2 ;


  format year_on_year percent12.2 ;


  set temp ;


  year_on_year = currentSales / previousSales ;


 run ;



のように記述すると、結果は以下のようになります。


 f:id:n-insight:20070225212929j:image





このように、percentNフォーマットを使用すると、


前年比や構成比等の比率をパーセンテージ形式で表示するのに非常に便利ですが、


1つ注意が必要です。



あくまでもフォーマットを指定しているだけなので、実際の値は、下記を見れば一目瞭然ですが、


 f:id:n-insight:20070225212948j:image


100で乗算もされていなければ、小数点以下の処理もされていない


もともとの値が格納されています。



パーセンテージ形式で表示されたものを値として格納したい場合は、



 year_on_year_c = put(year_on_year, percent12.2) ;



のようにPUT関数で文字変数に変換しなければなりません。


0 件のコメント:

コメントを投稿

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

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