私の日付に先行ゼロ(25.3.2016のような)がない入力ファイルがありますが、それらをDDMMYYYYP10という形式に変換したいと思います。SASの日付形式d.m.yyyyをdd.mm.yyyyに変換する方法は?
私のためにできる形式、インフォメーション、機能などはありますか?
SAS Enterprise Guide 4.3を使用しています。
私の日付に先行ゼロ(25.3.2016のような)がない入力ファイルがありますが、それらをDDMMYYYYP10という形式に変換したいと思います。SASの日付形式d.m.yyyyをdd.mm.yyyyに変換する方法は?
私のためにできる形式、インフォメーション、機能などはありますか?
SAS Enterprise Guide 4.3を使用しています。
私の入力はデータセットですので、これは私の仕事:
data dates;
set My_data;
format date1 DDMMYYP10.;
date1 = input (date, anydtdte10.);
run;
そのような場合、Date変数には実際にはSASの日付が表示されませんでした。これはテキスト値の文字変数で、INPUT関数を使用してそのテキスト値を数値の日付値に変換しています。 – Quentin
SASは、日付を「SAS日付」として保存するように設計されています。これは、1960年1月1日からの日数である数値変数です。SAS日付があると仮定します日付)、この変数に使用される形式を変更するのは簡単です。それが印刷されたときに編集
36 data want;
37 mydate="1Mar2016"d;
38 put mydate=;
39 format mydate ddmmyyp10.;
40 run;
mydate=01.03.2016
など、これは実際に値を変換しません、それだけで値を表示するために使用される形式を変更することに注意してください:私はあなたの質問を再読し、多分あなたは、SASデータセットを持っていない実現代わりにテキストファイルがありますか?もしそうなら、あなたはddmmyy10インフォーマットを使って25.3.2016のような日付を読むことができます。以下は、テキストファイルから値を読み込むことddmmyy10 informatを使用し、次にddmmyyp10形式は、ピリオド区切りでそれをフォーマットする:
115 data want;
116 input mydate ddmmyy10.;
117 put mydate=;
118 format mydate ddmmyyp10.;
119 cards;
mydate=01.03.1960
NOTE: The data set WORK.WANT has 1 observations and 1 variables.
121 ;
122 run;
本当に必要な「形質転換」はありません。あなたが必要とする2つのだけのものがある:
ANYDTDTE10.
を行う必要があります)(あなたがDDMMYYP10.
を求めています日付を表示するには、上記のインフォーマットで正しくインポートされている必要があります。イラスト:
data dates;
format mydate DDMMYYP10.;
input mydate ANYDTDTE10.;
datalines;
25.3.2016
run;
proc print;run;
結果:もちろん
Obs mydate
1 25.03.2016
あなたが外部データを読んでいる場合は、INFILE
の文ではなく、DATALINES
を必要とすることがあります(私はあなたであると仮定ケース)が、結果は同じになります。
出力形式はで、形式はです。基礎となるデータに影響を与えずに自由に変更することができます。したがって、ここの鍵は実際にはinfoです。
あなたは形式を変更しようとしたことがありますか? – Reeza