- options mprint source;
- %macro date_fmt(from=, to=, fmt=, fmtnam=);
- %local i tcount;
- data _null_;
- format from to end yymmddn8.;
- from = &from;
- end = &to;
- tcount = 0;
- do while (from < end);
- to = intnx('MONTH', from, +11, 'END');
- tcount = tcount + 1;
- /* マクロ変数を定義 */
- value = put(from, &fmt);
- macvar = compress("FROM" || put(tcount, BEST.));
- call symput(macvar, compress(value));
- value = put(to, &fmt);
- macvar = compress("TO" || put(tcount, BEST.));
- call symput(macvar, compress(value));
- call symput("TCOUNT", compress(put(tcount, BEST.)));
- /* 次の年を設定 */
- from = intnx('MONTH', from, +12);
- end;
- run;
- /* 書式を設定 */
- proc format;
- value &fmtnam
- %do i=1 %to &tcount;
- "&&from&i" - "&&to&i" = "&&from&i - &&to&i"
- %end;
- ;
- run;
- %mend;
- %date_fmt(from='1-Apr-1990'd, to=today(), fmt=YYMMN6., fmtnam=$DATE6_F);
- %date_fmt(from='1-Apr-1990'd, to=today(), fmt=YYMMDDN8., fmtnam=$DATE8_F);
- data _null_;
- x = put(today(), yymmddn.);
- y = put(x, $DATE8_F.);
- z = put(x, $DATE6_F.);
- put _all_;
- run;
SASプログラムとログを解析するユーティリティを開発するための備忘録です。This is a memo to develop utility that analyzes the SAS log.
2012年5月28日月曜日
年代の書式定義
仕事用のメモです。4月始まりで年代を分けるための書式定義です。
登録:
コメントの投稿
(
Atom
)
0 件のコメント :
コメントを投稿