SAS XPTビューワを更新しました(v0.1.2.0)
対応フォーマットを修正、追加しました。
- 修正:TOD, TIME, DDMMYY, MMDDYY, E8601TM
- 追加:DATE
バージョンは0.1.2.0です。
こちらからどうぞ
https://bitbucket.org/t_kawakami/xptviewer-for-public/src/main/
以下は修正時の小話です
手でポチポチするのは面倒なので、ユニットテストのプロジェクトを作成したところ、検証時間が激減しました。
そして、随分SASのフォーマット結果と違っていましたのでたくさん修正しました。
例えば
- options decimalconv=stdieeeを指定していると四捨五入が銀行丸めになる
オプションをビューワで指定できるといいかもしれないすね。
options decimalconv=COMPATIBLE; data _null_; a=0.25; put a=3.1; a=0.35; put a=3.1; run; options decimalconv=stdieee; data _null_; a=0.25; put a=3.1; a=0.35; put a=3.1; run;
結果はこうです

- TOD、TIMEは小数点以下「のみ」四捨五入する
data _null_; a=0.25; put a=time12.2; put a=time12.1; a=80036; put a=time8.; put a=time5.; run;

- TODは0-24時までしか対応しない(マイナスもしくは24時を超える場合は、24時間表記に直される)
- E8601TMも0-24時までしか対応しない(マイナスもしくは24時を超える場合は、表現不可:*****となる)
data _null_; a=-80000.; put a=time9.; put a=tod8.; put a=E8601TM8.; run;

- DDMMYYは6桁以下の場合、年月ではなく、先頭から残していく
てっきり年>月>日の順で残るのかと思ってました。(YYMMDD脳)
data _null_; a=10000; put a=mmddyy10.; put a=mmddyy5.; put a=mmddyy2.; run;
