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;
上記のコードを実行すると、次の結果が生成されます-