SAS-入力メソッド

入力メソッドは、生データを読み取るために使用されます。生データは、外部ソースからのものでも、ストリームデータラインからのものでもかまいません。inputステートメントは、各フィールドに割り当てた名前で変数を作成します。したがって、Inputステートメントで変数を作成する必要があります。同じ変数がSASデータセットの出力に表示されます。以下は、SASで使用可能なさまざまな入力方法です。

  • リスト入力方法
  • 名前付き入力方式
  • 列の入力方法
  • フォーマットされた入力方法

各入力方法の詳細は以下のとおりです。

リスト入力方法

このメソッドでは、変数はデータ型とともにリストされます。宣言された変数の順序がデータと一致するように、生データは注意深く分析されます。区切り文字(通常はスペース)は、隣接する列の任意のペア間で均一である必要があります。データが欠落していると、結果が間違っているため、出力に問題が発生します。

次のコードと出力は、リスト入力方式の使用法を示しています。

DATA TEMP;
INPUT   EMPID ENAME $ DEPT $ ;
DATALINES;
1 Rick  IT
2 Dan  OPS
3 Tusar  IT
4 Pranab  OPS
5 Rasmi  FIN
;
PROC PRINT DATA = TEMP;
RUN;

上記のコードを実行すると、次の出力が得られます。

名前付き入力方式

このメソッドでは、変数はデータ型とともにリストされます。生データは、一致するデータの前に変数名が宣言されるように変更されます。区切り文字(通常はスペース)は、隣接する列の任意のペア間で均一である必要があります。

次のコードと出力は、名前付き入力方式の使用法を示しています。

DATA TEMP;
INPUT   
EMPID= ENAME= $ DEPT= $ ;
DATALINES;
EMPID = 1 ENAME = Rick  DEPT = IT
EMPID = 2 ENAME = Dan  DEPT = OPS
EMPID = 3 ENAME = Tusar  DEPT = IT
EMPID = 4 ENAME = Pranab  DEPT = OPS
EMPID = 5 ENAME = Rasmi  DEPT = FIN
;
PROC PRINT DATA = TEMP;
RUN;

上記のコードを実行すると、次の出力が得られます。

列の入力方法

この方法では、変数は、データの単一列の値を指定する列のデータ型と幅とともにリストされます。たとえば、従業員名に最大9文字が含まれ、各従業員名が10列目から始まる場合、従業員名変数の列幅は10〜19になります。

次のコードは、列入力方式の使用法を示しています。

DATA TEMP;
INPUT   EMPID 1-3 ENAME $ 4-12 DEPT $ 13-16;
DATALINES;
14 Rick     IT 
241Dan      OPS 
30 Sanvi    IT 
410Chanchal OPS 
52 Piyu     FIN 
;
PROC PRINT DATA = TEMP;
RUN;

上記のコードを実行すると、次の結果が生成されます-

フォーマットされた入力方法

この方法では、変数は、スペースが検出されるまで、固定された開始点から読み取られます。すべての変数には固定の開始点があるため、変数の任意のペア間の列数が最初の変数の幅になります。文字「@n」は、変数の開始列位置をn番目の列として指定するために使用されます。

次のコードは、フォーマットされた入力方式の使用法を示しています。

DATA TEMP;
INPUT   @1 EMPID $ @4 ENAME $ @13 DEPT $ ;
DATALINES;
14 Rick     IT 
241 Dan      OPS 
30 Sanvi    IT 
410 Chanchal OPS 
52 Piyu     FIN 
;
PROC PRINT DATA = TEMP;
RUN;

上記のコードを実行すると、次の結果が生成されます-