INPUTN関数
実行時に数値の入力形式を指定できるようにします。
構文
必須引数
source
入力形式を適用する文字定数、変数または式を指定します。
informat
sourceに適用する数値の入力形式が含まれる文字定数、変数または式です。
オプション引数
w
入力形式に適用する幅を指定する数値定数、変数または式です。
操作 |
ここで指定した幅は、入力形式での幅の指定より優先されます。 |
d
使用する小数点以下の桁数を指定する数値定数、変数または式です。
操作 |
ここで指定した桁数は、入力形式での小数点以下の桁数の指定より優先されます。 |
比較
INPUTC関数は、実行時に文字の入力形式を指定できるようにします。INPUT関数はコンパイル時に入力形式を指定するため、INPUT関数を使用した方が高速です。
例: 数値の入力形式の指定
この例では、数値の入力形式を指定する方法を示します。PROC FORMATステップでは、SAS日付入力形式の名前で変数値1および2をフォーマットする、形式READDATE.を作成します。DATAステップで、2つの異なるソース(変数SOURCEの値で指定)からの生データを使用してSASデータセットを作成します。各ソースには日付が異なって指定されています。レコードの読み取り後、DATAステップでSOURCEの値を使用して、日付の読み取りに適切な入力形式の値が含まれる変数DATEINFORMATを作成します。また、SAS日付の値が含まれる新しい変数NEWDATEもDATAステップで作成します。INPUTN関数で、オブザベーションのソースと適切な入力形式に基づいてNEWDATEの値を割り当てます。
proc format;
value readdate 1='date7.'
2='mmddyy8.';
run;
options yearcutoff=1926;
data fixdates(drop=start dateinformat);
length jobdesc $12;
input source id lname $ jobdesc $ start $;
dateinformat=put(source, readdate.);
newdate=inputn(start, dateinformat);
datalines;
1 1604 Ziminski writer 09aug99
1 2010 Clavell editor 26jan95
2 1833 Rivera writer 10/25/98
2 2222 Barnes proofreader 3/26/12
;