|
|
PICTUREステートメントで、年・月を分割するフォーマットを作成する
[OS]ALL
[リリース] 8.1, 8.2
[キーワード] FORMAT, PICTURE, %b, %Y, SPLIT= OPTION
[質問]日付の出力形式を変更する方法を教えてください。
[回答]SAS System 8eでは、FORMATプロシジャのPICTUREステートメント、および日付データの出力管理に追加された「%b」や「%Y」などの予約語を使用して、SAS日時形式のデータから年・月に該当する値を抽出・設定できます。 次のサンプルプログラム1では、「%b(月の名称)」、「%Y(西暦年)」という予約語を使用して、ユーザー定義フォーマットmonyrを作成しています。このサンプルでは、月の名称と西暦年の間に「-(ハイフン)」を挟む形式を指定しています。
サンプルプログラム1:
PROC FORMAT ;
PICTURE monyr (DEFAULT = 8)
low - high = '%b-%Y'(DATATYPE=date) ;
RUN ;
DATA _null_ ;
a = DATE();
PUT a = monyr.;
RUN ;
実行結果: a=APR-2003 SAS/GRAPHのAXISステートメントに追加されたSPLIT=オプションを併用すれば、月と年を分割出力することもできます。 サンプルプログラム2では、SPLIT=オプションでハイフンを区切り文字として定義します。そして、年月日表示にユーザー定義フォーマットmonyrを指定します。この併用により、FORMATプロシジャで「APR-2001」のように出力される日付データは、「-(ハイフン)」を区切り文字として、月と年を分割した形 式で出力されます。
サンプルプログラム2:
AXIS1 SPLIT = "-" ; /* split= オプション*/
PROC GPLOT DATA = work.month ;
PLOT actual * month /
HAXIS = axis1 ;
FORMAT month monyr. ;
/* ユーザー定義フォーマットの適用 */
RUN ;QUIT ;
実行結果: |
|||||