投稿

7月, 2016の投稿を表示しています

proc format - SAS日時、SAS日付、SAS時間に対して、自分で出力方式を作成する

すごく久しぶりに、proc format で出力方式を作ったら、完全にど忘れして同じ失敗を繰り返してしまったので、忘れないために記事書きます。 SAS日時、SAS日付、SAS時間の出力方式って、いっぱいありますけど、たくさんある出力方式を探すの大変だし、探してみたらほしいものが無かったなんてことがまれによくあります。 そんなときに使うのが、proc format です。出力方式を自分で作ることができます。 数値や文字に対しても、出力方式を作ることもできますが、今回は、SAS日時、SAS日付、SAS時間について、出力方式を作ってみたいと思います。 proc format ; /* YYYY-MM-DD HH:MI:SS 形式 */ picture YMDHMS_A other='%Y-%0m-%0D %0H:%0M:%0S' (datatype=datetime) ; /* %a で曜日も入れられます。local によって結果は異なります */ picture YMDHMS_B other='%Y%0m%0D(%a) %0H%0M%0S' (datatype=datetime) ; /* 日本語も入れることができます */ picture YMDHMS_C other='%Y年%0m月%0D日(%a曜日) %0H時%0M分%0S秒' (datatype=datetime) ; /* ゼロを無くすことで、セロ埋めされずに出力されます */ picture YMDHMS_D other='%Y-%m-%D %H:%M:%S.%s' (datatype=datetime) ; run ; /* 作成した出力方式を使ってみる */ data _null_ ; DATM = datetime() ; putlog DATM= YMDHMS_A19. ; putlog DATM= YMDHMS_B20. ; putlog DATM= YMDHMS_C44. ; putlog DATM= YMDHMS_D24. ; run ; picture ステートメントの直後に、好きな出力方式名を指定します。 値に応じて、出力方式を変