これもずいぶん手垢のついたネタですが、先日引っかかったので投稿します。
要は2015-12-04T05:00のようなデータをSAS日付値にする話です。
data hoge;
AA = "2015-12-04T05:00";
HOGET=input(AA,e8601dt.);
run;
とするだけの話です。
引っかかったのは元の文字の日付をほかのデータセットから読み込む時に
文字の前後にブランクでも入っていたのでしょうか
inputを実行したら、ERRORが出て通らなかったのですね。
最後は読み込んだ文字変数にstripを使って前後のブランクを取り除いたことで(?)inputが通りました。
いまだにいまいち原因がわかっていないのですが、とりあえず通ったのでよしとしています。
文字変数に欠測データもいなかったので、errorが出ると思っていなくてびっくりしました。
20160927更新
SAS9.4で実行したらERRORなくいきました。
日付値に秒が入っていないことがERRORの原因ぽいです。
それにしてもstripかますと動くことの説明にはなりませんが・・・・
SAS9.4なら秒が日付値に入っていなくても滞りなく動くみたいです。
20170510更新
spritではなくcatsを使ってもinputが通りました。
相変わらずこれの原因、解決策がわかりません
参考URL
返信削除https://sas-boubi.blogspot.com/2018/07/sas93buge8601dt.html