''d DAY MDY MONTH SAS YEAR

【SAS】SASで日付を扱う(年月日)【”d】 【YEAR()】【MONTH()】【DAY()】【MDY()】

投稿日:2022年1月4日 更新日:

今回は日付を用いた様々な操作について解説します。 


/*''d*/
data data1;
  Id1 = '03jan2022'd;
run;

  • ’03jan2022’dにより日付として扱うことができる。
  • Id1はSAS日付になる。
  • 03は日
  • janは月
  • 2022は年

/* ''d 20220103 */
data data1;
  Id1 = '20220103'd;
run;

  • ‘ddMONyyyy’dでなければエラーとなる。
  • ‘yyyymmdd’dみたいにはできない。

/* year */
data data1;
  Id1 = '03jan2022'd;
  Id2 = year(Id1);
run;

  • ’03jan2022’dにより日付として扱うことができる。
  • Id1はSAS日付になる。
  • 03は日
  • janは月
  • 2022は年
  • year()で年の部分のみ抜き出せる。

/* month */
data data1;
  Id1 = '03jan2022'd;
  Id2 = month(Id1);
run;

  • ’03jan2022’dにより日付として扱うことができる。
  • Id1はSAS日付になる。
  • 03は日
  • janは月
  • 2022は年
  • month()で月の部分のみ抜き出せる。

/* day */
data data1;
  Id1 = '03jan2022'd;
  Id2 = day(Id1);
run;

  • ’03jan2022’dにより日付として扱うことができる。
  • Id1はSAS日付になる。
  • 03は日
  • janは月
  • 2022は年
  • day()で日の部分のみ抜き出せる。

/* ymd */
data data1;
  Id1 = '03jan2022'd;
  Id2 = ymd(Id1);
run;

  • ymdという関数は無い。

/* ydm */
data data1;
  Id1 = '03jan2022'd;
  Id2 = ydm(Id1);
run;

  • ydmという関数は無い。

/* myd */
data data1;
  Id1 = '03jan2022'd;
  Id2 = myd(Id1);
run;

  • mydという関数は無い。

/* mdy */
data data1;
  Id1 = '03jan2022'd;
  Id2 = mdy(Id1);
run;

  • mdyという関数はあるものの、引数は1つだと足りない。

/* mdy_2 */
data data1;
  Id1 = mdy(1,03,2022);
run;

  • mdy(月,日,年)として認識し、SAS日付に変換する。

-''d, DAY, MDY, MONTH, SAS, YEAR

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

【SAS】WHEREステートメントはPRINTプロシージャ内で使用ができる。【IFステートメントは使えない】【SAS Base Programming対策6】

/* where */ data data1; Id1=1111; Id2=1111; Id3=1111; output; Id1=2222; Id2=2222; Id3=2222; output; …

【SAS】TODAY()とDATE()はどちらもSAS日付値を取得する。

以下の2記事でtoday()を使ってきました。 【SAS】PUT+DATE,YYMMDDはSAS日付値をフォーマットを変換して表示する 【SAS】YYMMDDの可能性を考える(表示できる日付形式はどこ …

【SAS】PUTLOGステートメントは文字列をログに出力する。

今回はPUTLOGについて解説します。 /* putlog_1 */ data _null_; putlog ‘2022/03/26’; run; putlogにより、ログに文字列を出力できる。%pu …

【SAS】SASで良く使うテクニック。その8 「=」~修正前後のプログラムを比較したい時~【Excel】【VBA】

今回はSASで良く使うテクニックということで、修正前後のプログラムを比較したい時は、「=」が役に立つ理由を解説していきます。(このテクニックはコーディングなら、SASに限らず、VBAでも他のどの言語で …

【SAS】TRANSPOSEは縦持ち、横持ちを変換できる。その1

今回はTRANSPOSEについて解説します。 /* num char char */ data data1; NO=1111; CHAR=”A”; MOJI=”AAAA”; output; NO=22 …