2014年2月14日金曜日

日本語の西暦・和暦を日付値に変換する。


SASには、日本語で入力された西暦・和暦を日付値に変換するインフォーマットが用意されてる。
わりと浸透してない気がするので紹介します。


サンプルデータ作成

data DT1;
  length C1-C4 $30.;

  C1 = "2000/02/01";
  C2 = "2000年2月1日";
  C3 = "H12/02/01";
  C4 = "平成12年2月1日";
run;


通常のやり方

通常は以下のようにKTRANSLATE関数等を組み合わせて変換してたと思う。

  N2 = input( ktranslate(C2,"/","年","/","月","","日") ,yymmdd10.) ;


インフォーマットを使用する場合

西暦は「JDATEYMD」、和暦は「JNENGO」というインフォーマットが用意されてる。
知ってると面倒な日付変換が楽になります。


 *** 「2000/02/01」 ;
  N1 = input(C1, yymmdd10.) ;

 *** 「2000年2月1日」 ;
  N2 = input(C2, jdateymd14.) ;

 *** 「H12/02/01」 ;
  N3 = input(C3, nengo9.) ;

 *** 「平成12年2月1日」 ;
  N4 = input(C4, jnengo16.) ;



0 件のコメント:

コメントを投稿