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 ;
実行結果: |