前のページ|次のページ

INPUT関数

指定した入力形式を使用してSASが式を変換するときに生成された値を返します。

カテゴリ: 特殊

構文

必須引数

source

特定の入力形式を適用する文字定数、変数または式を指定します。

?または??

無効なデータ値が読み取られた場合にエラーメッセージと入力行を非表示にする、オプションの疑問符(?)と二重疑問符(??)修飾子を指定します。?修飾子は、無効なデータメッセージを非表示にします。??修飾子は、無効なデータメッセージを非表示にし、無効なデータが読み取られたときに自動変数_ERROR_が1に設定されることを防ぎます。

informat.

ソースに適用するSAS入力形式です。この引数は、入力形式名の後にピリオドを追加する必要があります。この引数に、文字定数、変数および式は使用できません。

詳細

INPUT関数が長さの割り当てられていない変数に文字値を返した場合、変数の長さは入力形式の幅によって決定されます。
INPUT関数では、指定した入力形式を使用してsourceの値を変換できます。入力形式によって、結果が数値であるか文字であるかが決定します。INPUTを使用して、文字値を数値または他の文字値に変換できます。

比較

INPUT関数は、指定した入力形式を使用してSAS式が変換されるときに生成された値を返します。その値を変数に格納するには、割り当てステートメントを使用する必要があります。INPUTステートメントでは、入力形式を使用してデータ値を読み取ります。その値の変数への格納は任意です。
INPUT関数では、名前の後にピリオドと任意の小数点指定を追加して入力形式を指定する必要があります。INPUTC関数とINPUTN関数では、文字定数、変数または式として入力形式を指定できます。

例1: 文字値を数値に変換する

この例では、INPUT関数を使用して文字値を数値に変換し、その値を別の変数に格納します。COMMA9.入力形式によってSALE変数の値が読み取られ、カンマが取り除かれます。この結果の値2115353がFMTSALEに格納されます。
   data testin;
      input sale $9.;
      fmtsale=input(sale, comma9.);
      datalines;
   2,115,353
   ;

例2: PUT関数とINPUT関数を使用する

この例では、PUTで数値を文字列として返します。値122591がCHARDATE変数に割り当てられます。INPUTは、SAS日付入力形式を使用して文字列の値をSAS日付値として返します。値11681がSASDATE変数に格納されます。
   numdate=122591;
   chardate=put(numdate, z6.);
   sasdate=input(chardate, mmddyy6.);

例3: エラーメッセージを非表示にする

この例では、疑問符(?)修飾子を使用して、データエラーが検出された場合に無効なデータエラーメッセージを表示しないようにSASに指示します。自動変数_ERROR_が1に設定され、入力データ行がSASログに書き込まれます。
   y=input(x, ? 3.1);
二重疑問符(??)修飾子はエラーメッセージと入力行を非表示にし、無効なデータが読み取られたときに自動変数_ERROR_が1に設定されることを防ぎます。したがって、次の2つの例は同じ結果になります。
  • y=input(x, ??2.);
  • y=input(x, ?2.); _error_=0;

関連項目:

ステートメント:
INPUT Statement (SAS ステートメント: リファレンス)
前のページ|次のページ|ページの先頭へ