IMPORTプロシジャは、外部データスースからデータを読み込んで、SASデータセットにそれを書き出します。Base SASでは、区切り文字を含むファイルをインポートできます。区切り文字を含むファイルでは、ブランク、カンマ、タブといった区切り(デリミタ)で、データ値の列は区別されます。"SAS/ACCESS Interface to PC Files"のライセンスがあれば、Microsoft Accessデータベース、Excelファイル、Lotusスプレッドシートといった外部データセットも扱うことができます。
PROC IMPORTを実行すると、プロシジャによって入力ファイルが読み込まれ、SASデータセットへデータが書き出されます。SAS変数の定義は、入力レコードに基づいて行われます。区切り文字があるファイルを読み込んだ場合、PROC IMPORTはデータをインポートするDATAステップコードを生成します。
構文
PROC IMPORT <オプション>;
データソースステートメント;
RUN;
PROC IMPORTステートメント
- DATAFILE="filename"
入力するPCファイル、スプレッドシート、区切り文字を含む外部ファイルに対する完全なパス名、またはファイル参照名を指定します。ファイル参照名とは、ファイルの物理的な場所と結び付けられるSASで使用される名前です。ファイル参照名を割り当てるには、FILENAMEステートメントを利用してください。 - OUT=<libref.>SAS-data-set
出力データセット名を指定します。 - DBMS=identifier
インポートするデータのタイプを指定します。利用可能な識別子は、DLM、TAB、およびCSVです。タブ区切りのファイルをインポートするときは、TABを識別子として設定してください。.CSVでファイル名が終わらない他の区切り文字を含むファイルを読み込むには、DLMを指定しましょう。.CSVを拡張子として持つカンマ区切りのファイルに対しては、DBMS=の指定は任意です。PROC IMPORTは.CSVをカンマ区切りのファイルに対する拡張子として認識します。したがって、DBMS=CSVは必須ではありません。 - REPLACE
既存のSASデータセットを上書きします。REPLACEオプションを指定しないときには、PROC IMPORTは既存データセットを上書きしません。
データソースステートメント
- DATAROW=1 to 32767;
テキストファイルの何行目から読み込むかを指定します。
- DELIMITER='char' | 'nn'x;
入力ファイルでデータ列を区別するデリミタを指定します。1つの文字、または16進値を指定可能です。
- GETNAMES=YES | NO;
1行目のレコードのデータ値からSAS変数名を作成するかを定めます。
- GUESSINGROWS=1 to 32767;
文字変数か数値変数を決定する、また変数の長さを決めるためにスキャンする行数を指定します。