Sas-input-methods

提供:Dev Guides
移動先:案内検索

SAS-入力方法

入力メソッドは、生データの読み取りに使用されます。 生データは、外部ソースまたはストリームデータラインからのものです。 入力ステートメントは、各フィールドに割り当てる名前の変数を作成します。 したがって、入力ステートメントで変数を作成する必要があります。 同じ変数が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;

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

list_n_named_input

名前付き入力メソッド

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

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

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;

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

list_n_named_input

列入力方法

このメソッドでは、変数はデータの単一の列の値を指定する列のデータ型と幅とともにリストされます。 たとえば、従業員名に最大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;

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

column_n_formatted_input

書式付き入力メソッド

このメソッドでは、スペースが見つかるまで変数は固定された開始点から読み取られます。 すべての変数には固定の開始点があるため、変数のペア間の列の数が最初の変数の幅になります。 文字「@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;

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

column_n_formatted_input