私は、文字の書式を使用してさまざまな値を取る変数start dateを持つデータセットを持っています。SASの日付の書式
私は2つの異なる日付の値を持つ2つの新しい列に日付変数を変換したいので、私は、開始日の列の値を使用してデータセットを分割している:
if length(Startvalue) = 6 then output a6;
else if length(Startvalue) = 8 then output a8 ;
else if length(Startvalue) = 1 then output a1;
else output a_other;
一つの値は、次のように書かれています:090209(DDMMYY)
変数をdate9とdate9の両方にフォーマットします。フォーマットとDDMMYYD10があります。このような形式:
FORMAT Startvalue2 date9.;
format Startvalue3 DDMMYYD10.;
は、私はそれがデータステップで、このアプローチで動作するようになった:
FORMAT Startdato2 date9.;
format startdato3 DDMMYYD10.;
Startdato2 = INPUT(PUT(Startdato,6.),DDMMYY6.);
Startdato3 = INPUT(PUT(Startdato,6.),DDMMYY6.);
別の値は、次のように書かれている:15-08-17(DD-MM-YY) 私もこのように、この値は上の2つのフォーマットをしたい:
FORMAT Startvalue2 date9.;
format Startvalue3 DDMMYYD10.;
しかし、ここで私は上から私の表現のコピーを使用することはできません。
FORMAT Startvalue2 date9.;
format Startvalue3 DDMMYYD10.;
Startvalue2 = INPUT(PUT(Startvalue,8.),DDMMYYDw.);
Startvalue3= INPUT(PUT(Startvalue,8.),DDMMYYDw.);
あなたはその理由を知っていますか?そして、私はどのようにして価値観を日付に変換することができますか?フォーマットとDDMMYYD10フォーマット?
種類は、あなたがinput
を使用しているときput
文で数値に値を変換する必要はありませんマリア
お返事ありがとうございます。このメソッドを21-09-17の値に使用すると、次の出力が得られます。 17SEP2021 \t 17-09-2021 これは私が望むものではありません。 21SEP2017および21-09-2017 – user1626092
anydtdteから取得する必要があります。ドキュメント: "01-02-03や01-02のような入力データは、月、日、年に関して曖昧である可能性があります。この場合、DATESTYLEシステムオプションは月、日、そして年。これを反映するようにコードを更新しました。 –
さて、それは動作します!ありがとうございます - 私は追加されたコードを理解しているかどうかわかりませんが、私は受け入れます - そして私は幸せです:) – user1626092