前のページ|次のページ

FILENAMEステートメント

SASファイル参照名を外部ファイルまたは出力デバイスと関連付けたり、ファイル参照名と外部ファイルの関連付けを取り消します。また、外部ファイルの属性を書き込みます。

該当要素: 任意の場所
カテゴリ: データアクセス
制限事項: SASがロックダウン状態にある場合、ロックダウンパスリストに含まれていないファイルに関しては、LIBNAMEステートメントを使用できません。詳細については、XisError: No pubcode in link data found for lrconを参照してください。
参照項目: FILENAMEステートメントXisError: No pubcode in link data found for hostwinXisError: No pubcode in link data found for hostunx、およびXisError: No pubcode in link data found for hosto390

構文

形式1:

形式2:

形式3:

形式4:

FILENAME fileref LIST | _ALL_ LIST ;

引数

ファイル参照名

新しいファイル参照名を割り当てるときに使用するSAS名を指定します。現在割り当てられているファイル参照名の関連付けを取り消したり、FILENAMEステートメントを使用してファイルの属性をリストする場合は、FILENAMEステートメントに割り当て済みのファイル参照名を指定するか動作環境レベルのコマンドを指定します。

ヒント ファイル参照名と外部ファイルの関連付けは、SASセッション終了まで維持されるか、または他のFILENAMEステートメントで関連付けの変更や関連付けの取り消しを実行するまで維持されます。ファイルに対するファイル参照名は必要に応じて何度でも変更できます。

device-type

ファイル参照名が入力デバイスまたは出力デバイスを参照する場合や物理ファイルではない場所を参照する場合に使用する、デバイスタイプまたはアクセス方式を指定します。

ACTIVEMQ

このアクセス方式を指定すると、ActiveMQメッセージブローカーへアクセスできます。

操作 DATAステップでアクセス方式のオプションを認識できない場合、DATAステップはこのオプションをアクセス方式に渡して処理します。
参照項目 XisError: No pubcode in link data found for appmsgdg

CATALOG

このアクセス方式を指定すると、SASカタログを外部ファイルとして参照できます。

参照項目 FILENAMEステートメント、CATALOGアクセス方式

DATAURL

このアクセス方式を指定すると、ユーザー指定のテキストからデータを読むことができます。

参照項目 FILENAMEステートメント、DATAURLアクセス方式

DISK

デバイスがディスクドライブであると指定します。

ヒント ディスク上のファイルにファイル参照名を割り当てる場合、DISKを指定する必要はありません。

DUMMY

ファイルへの出力を破棄するように指定します。

ヒント テストを実行する場合はDUMMYを指定すると便利です。

EMAIL

このアクセス方式を指定すると、SMTP(Simple Mail Transfer Protocol)電子メールインターフェイスを介して、SASから電子メールをプログラムによって送信することができるようになります。

参照項目 FILENAMEステートメント、EMAIL (SMTP)アクセス方式

FTP

このアクセス方式を指定すると、FTPプロトコルを使用してリモートファイルにアクセスできるようになります。

参照項目 FILENAMEステートメント、FTPアクセス方式

GTERM

出力デバイスの種類がグラフィックデータを受信するグラフィックデバイスであると指定します。

HADOOP

このアクセス方式を指定すると、Hadoop分散ファイルシステム(HDFS)にアクセスできるようになります。HDFSのロケーションは構成ファイルで指定します。

参照項目 FILENAMEステートメント、Hadoopアクセス方式

JMS

Java Message Service (JMS) の送信先を指定します。

PIPE

名前の付いていないパイプを指定します。

動作環境によっては、パイプがサポートされない場合があります。

PLOTTER

バッファなしのグラフィック出力デバイスを指定します。

PRINTER

プリンタまたはプリンタスプールファイルを指定します。

SFTP

このアクセス方式を指定すると、SFTPプロトコルを使用してリモートファイルにアクセスできるようになります。

参照項目 FILENAMEステートメント、SFTPアクセス方式

SOCKET

このアクセス方式を指定すると、TCP/IPソケットからの読み込みや書き込みができるようになります。

参照項目 FILENAMEステートメント、SOCKETアクセス方式

TAPE

テープドライブを指定します。

TEMP

ファイル名が割り当てられている間だけ存在する一時ファイルを作成します。この一時ファイルは論理名からのみアクセスできます。また、論理名が存在する間だけ使用できます。

制限事項 物理パス名は指定しないでください。物理パス名を指定するとエラーが発生します。
ヒント TEMPデバイスで操作するファイルは、DISKファイルに対して、同じ属性を保有し、同じように動作します。

TERMINAL

ユーザーの端末を指定します。

UPRINTER

ユニバーサル印刷プリンタの定義名を指定します。

ヒント FILENAMEステートメントにプリンタ名を指定しない場合、PRINTERPATHオプションによって、使用するユニバーサルプリンタと出力先が制御されます。

URL

このアクセス方式を指定すると、URLアクセス方式を使用してリモートファイルにアクセスできるようになります。

参照項目 FILENAMEステートメント、URLアクセス方式

WEBDAV

このアクセス方式を指定すると、WebDAVプロトコルを使用してリモートファイルにアクセスできるようになります。

参照項目 FILENAMEステートメント、WebDAVアクセス方式

ZIP

このアクセス方式を指定すると、ZIPファイルにアクセスできるようになります。

参照項目 FILENAMEステートメント、ZIPアクセス方式
要件 device-typeは、ステートメントのfilerefの直後に記述する必要があります。
動作環境 指定するデバイスによっては、さらに情報を指定することが必要になる場合があります。DISK以外の値を指定する前に、各動作環境向けのSASドキュメントを参照してください。動作環境によっては、ここで説明した値の他に使用できる値が存在する場合があります。
参照項目 FILENAMEステートメント、SFTPアクセス方式

'external-file'

外部ファイルの物理名です。物理名には動作環境で判別できる名前を指定します。

動作環境 外部ファイルの物理名を指定する方法の詳細については、各動作環境向けのSASドキュメントを参照してください。
ヒント 外部ファイルにファイル参照名を割り当てる場合は、external-fileを指定します。
ファイル参照名には、1つのファイルまたは集約記憶域を関連付けることができます。

ENCODING= 'encoding-value'

外部ファイルからの読み込みや外部ファイルへの書き込みに使用するエンコーディングを指定します。ENCODING=の値は、外部ファイルのエンコーディングが現在のセッションエンコーディングとは異なることを示しています。

外部ファイルからデータを読み込む場合は、指定したエンコーディングからセッションエンコーディングにデータがトランスコードされます。外部ファイルにデータを書き込む場合は、セッションエンコーディングから指定したエンコーディングにデータがトランスコードされます。
デフォルト SASでは、外部ファイルのエンコーディングがセッションエンコーディングと同じであるとみなします。
制限事項 エンコーディングオプションはすべてのデバイスでサポートされているわけではありません。詳細については、各オペレーティングシステム向けのSASドキュメントを参照してください。
参照項目 エンコーディングの有効な値については、XisError: No pubcode in link data found for nlsrefを参照してください。
外部ファイル読み込み時のエンコードの指定

外部ファイル書き込み時のエンコードの指定

CLEAR

現在割り当てられている1つまたは複数のファイル参照名の関連付けを取り消します。

ヒント 1つのファイル参照名の関連付けを取り消すには、filerefを指定します。現在割り当てられているファイル参照名の関連付けをすべて取り消すには、_ALL_を指定します。

_ALL_

現在割り当てられているすべてのファイル参照名に対して、CLEAR引数またはLIST引数を適用するように指定します。

LIST

1つまたは複数のファイルの属性をSASログに書き込みます。

操作 1つのファイルの属性を書き込むには、filerefを指定します。現在のセッションにあるファイル参照名を含むすべてのファイルの属性を書き込むには、_ALL_を指定します。

オプション

RECFM=record-format

外部ファイルのレコード形式を指定します。

操作 SAS 9.4では、グローバルLRECLシステムオプションのデフォルト値は32767です。固定長レコード(RECFM=F)を使用する場合、LRECLのデフォルト値は256になります。
動作環境 record-formatの値は動作環境によって異なります。詳細については、使用している動作環境に対応するSASドキュメントを参照してください。

動作環境オプション

動作環境オプションでは、ファイル属性や属性の処理など、動作環境固有の詳細情報を指定します。
動作環境の情報: 有効な指定のリストについては、各動作環境向けのSASドキュメントを参照してください。

詳細

動作環境情報

動作環境の情報: FILENAMEステートメントを使用する場合は、動作環境固有の情報が必要です。このステートメントを使用する前に、各動作環境向けのSASドキュメントを参照してください。一部の動作環境では、ファイル参照名とファイルの関連付けや関連付けの取り消しにコマンドを使用できます。

定義

外部ファイル
動作環境に作成および保存されているファイルです。このファイルは、データ、SASプログラミングステートメント、自動呼び出しマクロの読み込み先または出力の書き込み先となります。外部ファイルには、1つのファイルまたは複数の外部ファイルを格納する集約記憶域を指定できます。ファイル参照名を集約記憶域に関連付けるを参照してください。
動作環境の情報: ディレクトリ、MACLIB、区分データセットなど複数のファイルをまとめて保存する集約記憶域の名前は動作環境によって異なります。外部ファイルの指定方法の詳細については、各動作環境向けのSASドキュメントを参照してください。
ファイル参照名
ファイル参照名とは、外部ファイルの参照先を簡略化したものです。外部ファイルにファイル参照名を関連付けると、SASプログラミングステートメント(INFILE、FILE、および%INCLUDEなど)や、外部ファイルにアクセスするSASソフトウェアの他のコマンドやステートメントで簡略化した参照先としてファイル参照名を使用できます。

外部ファイルからの区切られたデータの読み込み

テキストファイルがローカルのエンコーディング環境以外の場所で作成された場合、EBCDIC環境またはASCII環境のどちらかでENCODING=オプションを指定する必要があります。
たとえば、ASCIIプラットフォーム上でEBCDICファイルを読み込む場合、FILENAMEステートメントにENCODING=オプションを指定することをお勧めします。ただし、FILENAMEステートメントでDSDオプションおよびDLMオプションを使用する場合は、ENCODING=オプションを必ず指定する必要があります。これは、2つのオプションがセッションエンコーディングの特定の文字(引用符、カンマ、ブランクなど)を必要とするためです。
エンコーディング固有の入力形式は、バイナリファイルに対して専用で使用する必要があります。このバイナリファイルには、文字フィールドと文字以外のフィールドが含まれます。

外部ファイルにファイル参照名を関連付ける(形式1)

ディスク上の外部ファイルにファイル参照名を関連付けるにはFILENAMEステートメントを次の形式で使用します。
FILENAME fileref 'external-file' <operating-environment-options>;
ディスクファイル以外のファイルにファイル参照名を関連付ける場合、動作環境によっては、次の形式に示すようにデバイスタイプを指定する必要があります。
FILENAME fileref <device-type> <operating-environment-options>;
ファイル参照名と外部ファイルの関連付けは、SASセッション終了まで維持されるか、または他のFILENAMEステートメントで関連付けの変更や関連付けの取り消しを実行するまで維持されます。ファイルに対するファイル参照名は必要に応じて何度でも変更できます。
文字セットのエンコーディングを指定するには、次の形式を使用します。
FILENAME fileref <device-type> <operating-environment-options>;

端末、プリンタ、ユニバーサルプリンタ、プロッタにファイル参照名を関連付ける(形式2)

出力デバイスにファイル参照名を関連付けるには、次の形式を使用します。
FILENAME fileref device-type <operating-environment-options>;

外部ファイルからファイル参照名の関連付けを取り消す(形式3)

ファイルからファイル参照名の関連付けを取り消すには、ファイル参照名とCLEARオプションを指定してFILENAMEステートメントを使用します。
FILENAME fileref CLEAR | _ALL_ CLEAR;

ファイル属性をSASログに書き込む(形式4)

1つまたは複数の外部ファイルの属性をSASログに書き込むには、FILENAMEステートメントを使用します。filerefを指定すると、1つのファイルの属性を書き込みます。_ALL_を使用すると、現在のSASセッションにある割り当て済みのファイル参照名を含むすべてのファイルの属性をすべて書き込みます。
FILENAME fileref LIST | _ALL_ LIST;

比較

FILENAMEステートメントは、外部ファイルにファイル参照名を割り当てます。LIBNAMEステートメントは、SASデータライブラリにライブラリ参照名を割り当てます。DBMSテーブルにアクセスするには、LIBNAME、SAS/ACCESSステートメントを使用します。

例1: ファイル参照名または物理的なファイル名の指定

外部ファイルは、外部ファイルにファイル参照名を割り当ててからその参照名を指定するか、物理ファイル名を一重引用符で囲んで指定します。
   filename sales 'your-input-file';
   data jansales;
         /* specifying a fileref */
      infile sales;  
      input salesrep $20. +6 jansales febsales
            marsales;
   run;
   data jansales;
         /* physical filename in quotation marks */
      infile 'your-input-file';
      input salesrep $20. +6 jansales febsales 
            marsales;
   run;

例2: FILENAMEステートメントとLIBNAMEステートメントの使用

この例では、ファイル参照名GREENが関連付けられているファイルからデータを読み込み、永久SASデータセットを作成します。このデータセットは、ライブラリ参照名SAVEが関連付けられているSASライブラリに格納されます。
   filename green 'your-input-file';
   libname save 'SAS-library';
   data save.vegetable;
      infile green;
      input lettuce cabbage broccoli;
   run;

例3: ファイル参照名を集約記憶域に関連付ける

ファイル参照名を集約記憶域に関連付ける場合、ファイル参照名を使用し、その後に集約記憶域に格納されている読み込み先と書き込み先の各ファイルを丸かっこで囲んで指定します。
動作環境の情報: 動作環境によっては、集約記憶域のメンバを読み込むことはできますが、書き込むことができない場合があります。詳細については、各動作環境向けのSASドキュメントを参照してください。
この例では、各DATAステップで同一の集約記憶域に格納されている外部ファイル(REGION1とREGION2)を読み込みます。集約記憶域はファイル参照名SALESを使用して参照されます。
   filename sales 'aggregate-storage-location';
   data total1;
      infile sales(region1);
      input machine $ jansales febsales marsales;
      totsale=jansales+febsales+marsales;
   run;
   data total2;
      infile sales(region2);
      input machine $ jansales febsales marsales;
      totsale=jansales+febsales+marsales;
   run;

例4: PUTステートメントの出力先の指定

次のFILENAMEステートメントでは、ファイル参照名OUTを動作環境固有のオプションを指定したプリンタに関連付けます。このFILENAMEステートメントでは、PUTステートメントの出力をプリンタに送信するように指示します。
   filename out printer operating-environment-option;
   data sales;
      file out print;
      input salesrep $20. +6 jansales 
            febsales marsales;
      put _infile_;
      datalines;
   Jones, E. A.              124357 155321 167895
   Lee, C. R.                111245 127564 143255
   Desmond, R. T.             97631 101345 117865
   ;
FILENAMEおよびFILEステートメントを使用すると、同一セッションの実行中にPUTステートメントの出力を複数のデバイスに送信できます。PUTステートメントの出力内容をディスプレイモニタに送信するには、次に示すようにFILENAMEステートメントでTERMINALオプションを使用します。
   filename show terminal;
   data sales;
      file show;
      input salesrep $20. +6 jansales 
            febsales marsales;
      put _infile_;
      datalines;
   Jones, E. A.              124357 155321 167895
   Lee, C. R.                111245 127564 143255
   Desmond, R. T.             97631 101345 117865
   ;

例5: 外部ファイル読み込み時のエンコードの指定

この例では、外部ファイルからSASデータセットを作成します。外部ファイルはUTF-8文字セットエンコーディングで、現在のSASセッションはWlatin1エンコーディングです。デフォルトでは、外部ファイルのエンコーディングがセッションエンコーディングと同じであるとみなします。そのため、文字データは新しいデータセットに正しく書き込まれません。
外部ファイルの読み込み時に使用するエンコーディングを指定するには、ENCODING=オプションを指定します。外部ファイルのエンコーディングをUTF-8に指定すると、新しいSASデータセットへの書き込み時に、外部ファイルがUTF-8から現在のセッションエンコーディングにトランスコードされます。これで、新しいデータセットにデータがWlatin1のエンコーディングで正しく書き込まれるようになります。
libname myfiles  'SAS-library';
   
filename extfile 'external-file' encoding="utf-8"; 
data myfiles.unicode;
   infile extfile;
   input Make $ Model $ Year;
run;

例6: 外部ファイル書き込み時のエンコードの指定

この例では、SASデータセットから外部ファイルを作成します。現在のセッションエンコーディングはWlatin1ですが、外部ファイルのエンコーディングはUTF-8にする必要があります。デフォルトでは、外部ファイルは現在のセッションエンコーディングを使用して書き込まれます。
外部ファイルへの書き込み時に使用するエンコーディングを指定するには、ENCODING=オプションを指定します。外部ファイルをUTF-8エンコーディングにするように指示すると、外部ファイルへの書き込み時に、Wlatin1から指定したUTF-8エンコーディングにデータがトランスコードされます。
libname myfiles  'SAS-library'; 
filename outfile 'external-file' encoding="utf-8"; 
  
data _null_; 
   set myfiles.cars;
   file outfile;
   put Make Model Year;
run;

関連項目:

システムオプション:
SAS Intelligence Platform:Application Server Administration GuideのLOCKDOWNシステムオプション
SAS ウィンドウインターフェイスコマンド:
Base SAS Help and DocumentationのFILEコマンドおよびINCLUDEコマンド
前のページ|次のページ|ページの先頭へ