ビジネス・インテリジェンス[BI] のリーディング・カンパニー | SAS Japan SAS Japan
「THE POWER TO KNOW(知る力)」を提供するビジネス・インテリジェンス[BI]のリーディング・カンパニー | SAS Japan  トレーニング マニュアル ユーザー事例 パートナー ユーザー会 求人情報 資料請求・ダウンロード
Home News Products & Solutions Events & Seminer Customer Support Company www.sas.com
 

数値の前にゼロをつけて桁をそろえて出力する

[OS] ALL
[リリース] ALL
[キーワード] Base, DATA, format, numeric, leading, zero, Zw.d

[質問]

桁数がそろっていない数値変数の値を、下記のように前にゼロを埋め込んで5バイトの文字変数に変換するには、どのようにすればよいでしょうか。

変換前 変換後
1
00001
12
00012
123
00123
1234
01234
12345
12345

[回答]

PUT関数とZw.dフォーマットを使用して変換できます。


  /* サンプルデータ */
  DATA sample; 
    INPUT num1 @@;
  CARDS;
  1 12 123 1234 12345
  ;
  RUN; 

  DATA sample;
    SET sample; 
    char1 = PUT(num1,Z5.);  /* PUT関数 + Zw.dフォーマット */  
  RUN;

Zw.dフォーマット
数値データの前にゼロをつけて出力します。
wは全体の表示桁数(バイト数)、dは小数の桁数です。

PUT関数
指定したフォーマットで値を変換します。
戻り値は文字列になります。

なお、数値変数を文字変数に変換せずに、前にゼロを埋めこんで表示するには、数値変数にZw.dフォーマットを設定します。


  DATA sample; 
    SET sample;       
    FORMAT num1 Z5.;        /* FORMATステートメント */ 
    PUT num1=; 
  RUN; 

The Power to Know
   Contact Us     Terms of Use & Legal Information     Privacy Statement     個人情報の取り扱いについて   Copyright © 2008 SAS Institute Inc. All Rights Reserved