前のページ|次のページ

FSEP関数

FGET関数のトークン区切り文字を設定します。

カテゴリ: 外部ファイル

構文

必須引数

file-id

通常、FOPEN関数によってファイルが開かれたときに割り当てられた識別子を指定する数値変数です。

character

ファイルデータバッファ(FDB)の項目を区切る1つ以上の区切り文字を指定する文字定数、変数または式です。リストされる各文字が区切り文字になります。つまり、characterが#@の場合、#または@で項目が区切られます。複数の連続する区切り文字(@#@など)は、1つの区切り文字として扱われます。

デフォルト 空白

オプション引数

'x' | 'X'

文字の区切り文字が16進値であることを示します。

制限事項 この引数で有効な値は、'x'および'X'のみです。その他のすべての値ではエラーが発生します。
'x'または'X'を第3引数として渡す場合、有効な16進文字列を第2引数characterとして渡す必要があります。そうしないと、関数が失敗します。有効な16進文字列は、0–9の偶数およびA–Fの文字です。
ヒント マクロステートメントを使用する場合、xまたはXを囲む引用符は必要ありません。

詳細

FSEPは、操作が成功した場合は0、失敗した場合は≠0を返します。

外部ファイルのデータは次のような形式になります。
John J. Doe,Male,25,Weight Lifter
Pat O'Neal,Female,22,Gymnast
各フィールドはカンマで区切られています。
この例では、カンマを区切り文字として使用して、ファイル参照名MYFILEで識別されるファイルを読み込み、NAME、GENDER、AGE、WORKの値をSASログに書き込みます。マクロステートメントでは文字列を引用符で囲みませんが、関数の引数のリテラルカンマはマクロの引用符関数(%STRなど)で囲む必要があります。
%let fid=%sysfunc(fopen(myfile));
%let rc=%sysfunc(fsep(&fid,%str(,)));
%do %while(%sysfunc(fread(&fid))=0);
   %let rc=%sysfunc(fget(&fid, name));
   %let rc=%sysfunc(fget(&fid, gender));
   %let rc=%sysfunc(fget(&fid, age));
   %let rc=%sysfunc(fget(&fid, work));
   %put name=%bquote(&name) gender=&gender 
      age=&age work=&work;
%end;
%let rc=%sysfunc(fclose(&fid));

関連項目:

前のページ|次のページ|ページの先頭へ