PUTステートメントの現在の出力ファイルを指定します。
該当要素: | DATAステップ |
カテゴリ: | ファイル操作 |
種類: | 実行 |
制限事項: | SASがロックダウン状態にある場合、ロックダウンパスリストに含まれていないファイルに関しては、FILENAMEステートメントを使用できません。詳細については、XisError: No pubcode in link data found for lrconを参照してください。 |
参照項目: | FILEステートメントXisError: No pubcode in link data found for hostwin、XisError: No pubcode in link data found for hostunx、およびXisError: No pubcode in link data found for hosto390 |
DATAステップのPUTステートメントの出力先に使用する外部ファイルを指定します。file-specificationには、次の形式を指定できます。
外部ファイルの物理名を一重引用符で囲んで指定します。物理名には動作環境でファイルを判別できる名前を指定します。
外部ファイルのファイル参照名を指定します。
要件 | filerefは、FILENAMEステートメントまたはFILENAME関数を使用するか、適切な動作環境のコマンドを使用して、あらかじめ前のステップで外部ファイルに関連付けておく必要があります。実行時にfilerefを割り当てる唯一の方法は、FILEステートメントでFILEVAR=オプションを使用することです。 |
参照項目 | FILENAMEステートメント |
ファイルの集約記憶域を表す外部ファイルに事前に割り当てられているファイル参照名を指定します。ファイル参照名の後ろに続けて、対応する集約記憶域に含まれているファイル名またはメンバ名をかっこで囲んで指定します。
要件 | filerefは、FILENAMEステートメントまたはFILENAME関数を使用するか、適切な動作環境のコマンドを使用して、あらかじめ前のステップで外部ファイルに関連付けておく必要があります。 |
動作環境 | 複数のファイルをまとめて保存する集約記憶域の名前は、ディレクトリ、MACLIB、区分データセットなど、動作環境によって異なります。詳細については、各動作環境向けのSASドキュメントを参照してください。 |
注 | 集約記憶域に格納されているファイルの名前が有効なSAS名ではない場合は、その名前を引用符で囲む必要があります。 |
参照項目 | FILENAMEステートメント |
予約済みのファイル参照名です。PUTステートメントで生成される出力をSASログに表示するように指示します。
ヒント | デフォルトでは、出力行はSASログに書き込まれます。そのため、FILE LOGステートメントを使用するのは、変更した出力先をデフォルトの設定へ戻す場合、他のFILEステートメントオプションを指定する場合です。 |
予約済みのファイル参照名です。PUTステートメントで生成される出力を、SASプロシジャで生成される出力と同じファイルに出力するように指示します。
操作 | ファイルへ出力する場合、N=オプションの値は1またはPAGESIZEとする必要があります。 |
動作環境 | ファイルに出力されるキャリッジコントロール文字は、動作環境によって異なる場合があります。詳細については、各動作環境向けのSASドキュメントを参照してください。 |
ヒント | ファイル参照名にPRINTを指定した場合、キャリッジコントロール文字を使用して、出力ファイルの特性にあった出力を行われます。 |
参照項目 | ファイル出力の詳細に関する説明 - SAS言語リファレンス: 解説編 |
ヒント | file-specificationに指定したディレクトリにファイルが存在しない場合、ファイルが作成されます。file-specificationに指定したディレクトリが存在しない場合、SYSERRマクロ変数が設定されます。この変数は、ERRORCHECKオプションがSTRICTに設定されているかどうかを調べます。 |
デバイスの種類またはアクセス方式を指定します。これは、ファイル参照名が入出力デバイスや物理ファイルではない場所を参照している場合に使用されます。
このアクセス方式を指定すると、ActiveMQメッセージブローカーへアクセスできます。
操作 | DATAステップでアクセス方式のオプションを認識できない場合、DATAステップはこのオプションをアクセス方式に渡して処理します。 |
参照項目 | XisError: No pubcode in link data found for appmsgdg |
CATALOGアクセス方式を指定します。
操作 | DATAステップでアクセス方式のオプションを認識できない場合、DATAステップはこのオプションをアクセス方式に渡して処理します。 |
参照項目 | CATALOGアクセス方式で指定可能なオプションの一覧については、FILENAMEステートメント、CATALOGアクセス方式を参照してください。 |
CLIPBOARDアクセス方式を指定します。
操作 | DATAステップでアクセス方式のオプションを認識できない場合、DATAステップはこのオプションをアクセス方式に渡して処理します。 |
参照項目 | CLIPBOARDアクセス方式で指定可能なオプションの一覧については、FILENAMEステートメント、CLIPBOARDアクセス方式を参照してください。 |
デバイスがディスクドライブであると指定します。
ヒント | ディスク上のファイルにファイル参照名を割り当てる場合、DISKを指定する必要はありません。 |
ファイルへの出力を破棄するように指定します。
ヒント | テストを実行する場合はDUMMYを指定すると便利です。 |
FTPアクセス方式を指定します。
操作 | DATAステップでアクセス方式のオプションを認識できない場合、DATAステップはこのオプションをアクセス方式に渡して処理します。 |
参照項目 | FTPアクセス方式で指定可能なオプションの一覧については、FILENAMEステートメント、FTPアクセス方式を参照してください。 |
例 | infile dummy ftp user='myuid' pass='xxxx' filevar=file_to_read; |
Hadoopアクセス方式を指定します。
操作 | DATAステップでアクセス方式のオプションを認識できない場合、DATAステップはこのオプションをアクセス方式に渡して処理します。 |
参照項目 | Hadoopアクセス方式で指定可能なオプションの一覧については、FILENAMEステートメント、Hadoopアクセス方式を参照してください。 |
出力デバイスの種類がグラフィックデータを受信するグラフィックデバイスであると指定します。
Java Message Service (JMS) の送信先を指定します。
名前の付いていないパイプを指定します。
動作環境 | 一部の動作環境では、パイプはサポートされていません。 |
バッファなしのグラフィック出力デバイスを指定します。
プリンタまたはプリンタスプールファイルを指定します。
SFTPアクセス方式を指定します。
操作 | DATAステップでアクセス方式のオプションを認識できない場合、DATAステップはこのオプションをアクセス方式に渡して処理します。 |
参照項目 | SFTPアクセス方式で指定可能なオプションの一覧については、FILENAMEステートメント、SFTPアクセス方式を参照してください。 |
SOCKETアクセス方式を指定します。
操作 | DATAステップでアクセス方式のオプションを認識できない場合、DATAステップはこのオプションをアクセス方式に渡して処理します。 |
参照項目 | SOCKETアクセス方式で指定可能なオプションの一覧については、FILENAMEステートメント、SOCKETアクセス方式を参照してください。 |
テープドライブを指定します。
ファイル名が割り当てられている間だけ存在する一時ファイルを作成します。この一時ファイルは論理名からのみアクセスできます。また、論理名が存在する間だけ使用できます。
制限事項 | 物理パス名は指定しないでください。物理パス名を指定するとエラーが発生します。 |
ヒント | TEMPデバイスで操作するファイルは、DISKファイルに対して、同じ属性を保有し、同じように動作します。 |
ユーザーの端末を指定します。
ユニバーサル印刷プリンタの定義名を指定します。
ヒント | FILENAMEステートメントにプリンタ名を指定しない場合、PRINTERPATHオプションによって、使用するユニバーサルプリンタと出力先が制御されます。 |
URLアクセス方式を指定します。
操作 | DATAステップでアクセス方式のオプションを認識できない場合、DATAステップはこのオプションをアクセス方式に渡して処理します。 |
参照項目 | URLアクセス方式で指定可能なオプションの一覧については、FILENAMEステートメント、URLアクセス方式を参照してください。 |
WEBDAVアクセス方式を指定します。
操作 | DATAステップでアクセス方式のオプションを認識できない場合、DATAステップはこのオプションをアクセス方式に渡して処理します。 |
参照項目 | WEBDAVアクセス方式で指定可能なオプションの一覧については、FILENAMEステートメント、WebDAVアクセス方式を参照してください。 |
別名 | DEVICE=device-type |
デフォルト | DISK |
要件 | device-typeまたはDEVICE=device-typeは、ステートメントのfile-specificationの直後に記述する必要があります。 |
動作環境 | 指定するデバイスによっては、さらに情報を指定することが必要になる場合があります。DISK以外の値を指定する前に、各動作環境向けのSASドキュメントを参照してください。動作環境によっては、ここで説明した値の他に使用できる値が存在する場合があります。 |
出力ファイルのブロックサイズを指定します。
デフォルト | ご使用の動作環境によって異なります。詳細については、各動作環境向けのSASドキュメントに記載されているFILEステートメントを参照してください。 |
変数名を指定します。指定した変数の値は、ポインタの現在の列位置を示す値に設定されます。この変数は、自動変数と同じようにデータセットに書き込まれません。
別名 | COL= |
参照項目 | LINE= |
リスト出力のdelimiterに使用する、ブランクのかわりの区切り文字を指定します。使用できる区切り文字は次の通りです。
区切り文字として出力する文字を1つまたは複数指定します。
要件 | 指定する区切り文字のリストは引用符で囲む必要があります。 |
文字変数の名前を指定します。指定した変数の値が区切り文字として使用されます。
別名 | DLM= |
デフォルト | ブランク |
制限事項 | 文字列や文字変数を指定することはできますが、区切り文字として使用されるのは、指定した文字列や変数の最初の1文字だけです。FILE DLM=の処理は、INFILE DELIMITER=の処理とは異なります。 |
操作 | 出力に区切り文字を含める場合は、区切り文字を区別するDSDオプションを指定する必要があります。 |
ヒント | DELIMITER=オプションはコロン(:)修飾子と併用できます(修飾リスト出力)。 |
区切り文字では大文字と小文字が区別されます。 | |
参照項目 | DLMSTR= delimiter およびDSD (区切り文字を区別するデータ) |
DLMSTR=Tオプションの解析オプションを指定します。指定すると、区切り文字の末尾にあるブランクを削除します。
要件 | DLMSOPT=Tオプションは、DLMSTR=オプションを使用している場合にのみ有効です。 |
ヒント | DLMSOPT=Tオプションは、区切り文字として変数を使用する場合に便利です。 |
参照項目 | DLMSTR= |
リスト出力のdelimiter(ブランクのかわりの区切り文字)として使用する文字列を指定します。使用できる区切り文字は次の通りです。
区切り文字として出力する文字列を指定します。
要件 | 文字列は引用符で囲みます。 |
文字変数の名前を指定します。指定した変数の値が区切り文字として使用されます。
デフォルト | ブランク |
操作 | FILEステートメントにDLMSTR=オプションを複数指定すると、最後に指定したDLMSTR=オプションが使用されます。DELIMITER=オプションとDLMSTR=オプションの両方を指定すると、最後に指定したオプションが使用されます。 |
RECFM=Nを指定する場合は、サイズが大きい入力項目でも十分に保持できる値がLRECLに指定されていることを確認してください。指定した値が十分ではない場合、区切り文字によってレコード境界間で分割される場合があります。 | |
参照項目 | DELIMITER=、DLMSOPT=、およびDSD |
FILEステートメントのLINESIZE=オプションまたはLRECL=オプションに指定した出力行の長さを超えるデータを切り捨てます。
デフォルト | FLOWOVER |
ヒント | DROPOVERオプションは、PUTステートメントで現在指定されている行の長さを超えて書き込みを行おうとした場合に、現在の長さを超えたデータ項目を新しい行に出力しない場合に使用します。 |
参照項目 | FLOWOVER およびSTOPOVER |
タブやカンマなどの区切り文字を含むデータ値を一重引用符で囲むように指定します。DSDオプションでは、区切り文字を含むデータ値をリスト出力に書き込むことができます。このオプションは他の種類の出力(例:フォーマット出力、カラム出力、名前付き出力)では無視されます。データ値に含まれる二重引用符は2回繰り返されます。変数の値に区切り文字が含まれ、FILEステートメントにDSDを指定する場合、変数の値は出力が生成されるときに二重引用符で囲まれます。例として、次のコードを示します。
DATA _NULL_; FILE log dsd; x='"lions, tigers, and bears"'; put x ' "Oh, my!"'; run;
"""lions, tigers, and bears""", "Oh, my!"
DATA _NULL_; FILE log dsd; PUT 'lions, tigers, and bears'; run;
lions, tigers, and bears
操作 | DSDを指定する場合、デフォルトの区切り文字はカンマ(,)です。別の区切り文字を使用する場合は、DELIMITER=オプションまたはDLMSTR=オプションを指定します。 |
ヒント | デフォルトでは、指定した区切り文字を含まないデータ値は引用符で囲まれません。ただし、チルダ(~)修飾子を使用すると、欠損値を含むすべてのデータ値が引用符で囲まれます。その場合、区切り文字を含まないデータ値も引用符で囲まれます。 |
参照項目 | DELIMITER=およびDLMSTR= |
出力ファイルへの書き込み時に使用するエンコーディングを指定します。ENCODING=の値は、出力ファイルのエンコーディングが現在のセッションエンコーディングとは異なることを示しています。
デフォルト | SASは、現在のセッションエンコーディングを使用します。 |
参照項目 | XisError: No pubcode in link data found for nlsref |
例 | 出力ファイル書き込み時のエンコードの指定 |
文字変数の名前を指定します。指定した変数の値には、PUTステートメントの出力で現在開いているファイルの物理名が設定されます。物理名には動作環境でファイルを判別できる名前を指定します。
ヒント | この変数は、自動変数と同じようにデータセットに書き込まれません。 |
文字変数のデフォルトの長さは8文字です。変数の長さが8バイトよりも長い場合、LENGTHステートメントを使用して物理ファイル名の値を格納できるように十分な長さに設定してください。 | |
参照項目 | FILEVAR= |
例 | 現在の出力ファイルの識別 |
変数の名前を指定します。この変数の値が変化すると、FILEステートメントは現在の出力ファイルを閉じます。FILEステートメントを次に実行するときに、新しいファイルを開きます。次のPUTステートメントの出力先は、FILEVAR=オプションの変数の値に指定した新しいファイルになります。
制限事項 | FILEVAR=オプションの変数の値には、物理ファイル名を含む文字列を指定します。 |
操作 | FILEVAR=オプションを使用すると、file-specificationは、実際のファイル名またはファイルに対して事前に割り当てられたファイル参照名ではなく、プレースホルダになります。このプレースホルダを使用して、処理情報をSASログに出力します。プレースホルダには、ファイル参照名と同じルールが適用されます。 |
ヒント | この変数は、自動変数と同じようにデータセットに書き込まれません。 |
文字変数のデフォルトの長さは8文字です。8文字を超える物理ファイル名がある場合、LENGTHステートメントやINPUTステートメントなどの他のステートメントを使用して、FILEVAR=オプションの変数に十分な長さを割り当ててください。 | |
参照項目 | FILENAME= |
例 | 現在の出力ファイルを動的に変更する |
現在の行の長さを超えるデータは、新しい行に書き込まれます。指定した行の最大長(FILEステートメントのLINESIZE=オプションに指定)を超える書き込みをPUTステートメントが行う場合、現在の出力行をファイルに出力した後、現在の行の長さを超えるデータ項目は新しい行に書き込まれます。
デフォルト | FLOWOVER |
操作 | PUTステートメントに後置@が含まれる場合、ポインタは新しい行のデータ項目を出力した後の位置で停止します。そのため、次のPUTステートメントは、同じ行に書き込むことができます。このプロセスは、入力データの最後に到達するか、または後置@を指定しないPUTステートメントによって現在の行がファイルに書き込まれるまで継続します。 |
参照項目 | DROPOVER およびSTOPOVER |
現在定義されているフットノートを出力するかどうかを制御します。
別名 | FOOTNOTE | NOFOOTNOTE |
デフォルト | NOFOOTNOTES |
要件 | DATAステップで出力するレポートにフットノートを出力するには、FILEステートメントにFOOTNOTEオプションを指定する必要があります。 |
ステートメントラベルを定義します。このラベルは、新しいページへの出力を開始するたびに実行するSASステートメントのグループを特定します。
制限事項 | ラベルの後ろに記述する最初のステートメントは、実行ステートメントにする必要があります。それ以降は、任意のステートメントを使用できます。 |
HEADER=オプションは、出力ファイルに書き込む場合やPRINT=オプションを含める場合にのみ使用します。 | |
ヒント | このグループのステートメントがDATAステップの反復のたびに実行されるのを防ぐには、RETURNステートメントを2つ使用します。1つはラベルの前に記述し、もう1つはグループの最後のステートメントとして記述します。 |
例 | 新規ページの開始時にステートメントを実行する |
変数の名前を指定します。ここに指定した変数の値には、出力ポインタを移動できる行範囲での現在の相対行番号が設定されます。変数名を指定すると、値が自動的に割り当てられます。
範囲 | 1からN=オプションまたは#n行ポインタコントロールに指定した値。どちらも指定されていない場合、LINE=変数の値は1になります。 |
ヒント | この変数は、自動変数と同じようにデータセットに書き込まれません。 |
LINE=に指定した変数の値は、PUTステートメントの実行の最後に、次に出力できる行の番号に対して設定されます。 |
レポートの1行あたりの最大列数、およびデータファイルの最大レコード長を設定します。
別名 | LS= |
デフォルト | LINESIZE=オプションのデフォルト値は次の2つのオプションのどちらかによって決定されます。1) キャリッジコントロール文字を含むファイルまたはSASログに書き込む場合は、LINESIZE=システムオプションによってデフォルト値が決まります。または2)ファイルに書き込む場合は、LRECL=オプションによってデフォルト値が決まります。 |
範囲 | 最小値は64です。最大値は動作環境で許容されている最大論理レコード長です。 |
操作 | LINESIZE=オプションで指定した行の長さを超えるデータの出力をPUTステートメントが要求した場合の措置は、FLOWOVERオプション、DROPOVERオプション、STOPOVERオプションのうち、どのオプションが指定されているかによって異なります。デフォルト(FLOWOVER)では、データを複数の行に分けて書き出します。 |
動作環境 | LINESIZE=オプションで許容される最大値は、動作環境によって異なります。詳細については、各動作環境向けのSASドキュメントを参照してください。 |
注 | LINESIZE=オプションには、行のうちデータの出力に使用する長さを指定します。LRECL=オプションには、ファイルの物理的な長さを指定します。 |
参照項目 | LRECL=、DROPOVER、FLOWOVER、およびSTOPOVER |
例 | 出力行が出力ファイルの行の長さを超える場合 |
現在のページの残りの行数を格納する変数の名前を指定します。指定した変数には、現在のページの残りの行数の値が自動的に割り当てられます。LINESLEFT=変数の値は、PUTステートメントの実行終了時に設定されます。
別名 | LL= |
ヒント | この変数は、自動変数と同じようにデータセットに書き込まれません。 |
例 | 現在のページに残っている行数に基づき新規ページを決定する |
出力ファイルの論理レコード長を指定します。
デフォルト | LRECL=オプションの指定を省略すると、動作環境のファイル特性に応じた値が選択されます。 |
操作 | かわりに、XisError: No pubcode in link data found for lesysoptsrefを使用すると、グローバルな論理レコード長を指定できます。SAS 9.4では、グローバルLRECLシステムオプションのデフォルト値は32767です。固定長レコード(RECFM=F)を使用する場合、LRECLのデフォルト値は256になります。 |
動作環境 | logical-record-lengthの値は動作環境によって異なります。詳細については、各動作環境向けのSASドキュメントを参照してください。 |
注 | LINESIZE=オプションには使用するレコードの長さを指定します。LRECL=オプションには出力ファイルの物理的な長さを指定します。 |
参照項目 | LINESIZE=、PAD、およびPAGESIZE= |
ファイル内の既存の行の後に出力行を書き出します。
デフォルト | OLD |
制限事項 | MODオプションは、すべての動作環境で使用できるわけではありません。詳細については、使用している動作環境に対応するSASドキュメントを参照してください。 |
リスト出力以外のODS出力先にMODオプションを使用しないでください。使用すると、予期しない結果が出力される場合があります。 | |
参照項目 | OLD |
DATAステップの現在の反復で出力ポインタの移動に使用できる行数を指定します。available-linesには、数値(n)を指定するか、またはキーワードPAGESIZEやPSを指定できます。
出力ポインタの移動に使用できる行数を指定します。指定した行数の範囲内で出力中にポインタを前後に動かしてから、ポインタを次の範囲に移動します。
このキーワードを指定すると、出力ポインタをページ全体で移動できます。
別名 | PS |
制限事項 | N=PAGESIZEの指定は、出力を表示する場合にのみ有効です。 |
現在のファイルが出力先のファイルの場合、available-linesには、1またはPAGESIZEのどちらかの値を指定する必要があります。 | |
操作 | 出力ポインタの移動に使用できる行数を制御する場合、N=オプション使用するだけでなく、PUTステートメントで#n行ポインタコントロールを使用することもできます。 |
N=オプションの指定を省略し、行ポインタコントロール#を使用しない場合、移動できる範囲は1行です。つまり、デフォルトではN=1に設定されます。N=オプションを使用せず、行ポインタコントロール#を使用する場合、現在のDATAステップのPUTステートメントで使用した行ポインタコントロール#のうち、最大値がN=の値に割り当てられます。 | |
ヒント | N=PAGESIZEに設定すると、複数の列を含んだページの出力で、列ごとの出力ができます。 |
例 | ページ全体のコンテンツを配置する |
ODS(Output Delivery System)を使用してDATAステップの出力をフォーマットします。ここでは、データコンポーネントの構造を定義し、DATAステップの結果を保持します。また、そのコンポーネントをテーブル定義に関連付け、出力オブジェクトを生成します。ODSはこのオブジェクトを開かれているすべてのODS出力先に送信し、それぞれの出力先で出力が適切にフォーマットされるようにします。ODS-suboptionsおよびODS (Output Delivery System)の詳細については、XisError: No pubcode in link data found for odsugを参照してください。
デフォルト | ODS-suboptionsの指定を省略すると、DATAステップでは、SASHELP.TMPLMSTテンプレートストアに格納されているデフォルトのテーブル定義(base.datastep.table)が使用されます。この定義では2つの標準的な列を定義します。1つは文字変数用、もう1つは数値変数用です。ODSではDATAステップにあるそれぞれの変数を2つの列のどちらかに関連付け、DATAステップで定義された順にその変数を表示します。 |
ODS-suboptionsを指定しない場合、デフォルトのテーブル定義では列のヘッダーに変数のラベルを使用します。ラベルが存在しない場合、デフォルトのテーブル定義では列のヘッダーに変数の名前を使用します。 | |
制限事項 | ODSオプションは、_FILE_=オプション、FILEVAR=オプション、HEADER=オプション、PADオプションと併用できません。 |
要件 | ODSオプションは、FILEステートメントでファイル参照名にPRINTを指定した場合にのみ有効です。 |
操作 | DELIMITER=オプションおよびDSDオプションは、ODSオプションには適用されません。FOOTNOTES|NOFOOTNOTES、LINESIZE、PAGESIZE、TITLES | NOTITLESの各オプションは、リスト出力にのみ適用されます。 |
ファイルの古い内容を置き換えます。
デフォルト | OLD |
制限事項 | 動作環境によっては、OLDオプションを使用できない場合があります。詳細については、各動作環境向けのSASドキュメントを参照してください。 |
参照項目 | MOD |
LRECL=オプションに指定した長さに達するまで、外部ファイルに書き込むレコードにブランクを追加するかどうかを指定します。
デフォルト | 可変長ファイルに書き込む場合は、NOPADがデフォルト値になります。固定長ファイルに書き込む場合は、PADがデフォルト値になります。 |
ヒント | PADオプションを指定すると、可変長ファイルの中に固定長レコードを簡単に作成できます。 |
参照項目 | LRECL= |
レポートの1ページあたりの行数を設定します。
別名 | PS= |
デフォルト | PAGESIZE=システムオプションの値 |
範囲 | 15から32767までの値を指定できます。 |
操作 | TITLEステートメントが現在定義されている場合、1ページあたりの行数には、タイトルの行数が含まれます。 |
ヒント | PAGESIZE=オプションに指定した値に達すると、出力ポインタは新しいページの1行目に移動します。 |
FILE LOGを指定する場合、最初のページに出力される行数は、SAS起動時の注意事項で使用する行数だけ少なくなります。たとえば、PAGESIZE=20と指定し、SAS起動時の注意事項に9行使用する場合、最初のページの出力に使用できるのは11行だけになります。 | |
参照項目 | XisError: No pubcode in link data found for lesysoptsref |
キャリッジコントロール文字を出力行で使用するかどうかを制御します。
制限事項 | ファイルへ出力する場合、N=オプションの値は1またはPAGESIZEとする必要があります。 |
動作環境 | ファイルに出力されるキャリッジコントロール文字は、動作環境によって異なる場合があります。詳細については、各動作環境向けのSASドキュメントを参照してください。 |
ヒント | ファイル参照名にPRINTを使用する場合、PRINTオプションを指定する必要はありません。 |
対話型SASセッションでFILE PRINTを指定する場合、アウトプットウィンドウではフォームフィードコントロール文字をページ区切りと解釈します。また、フォームフィードの前に出力される空行は出力から削除されます。アウトプットウィンドウから結果をフラットファイルに出力すると、改ページ文字を含まないファイルが生成されます。フォームフィード文字をファイルに含める必要がある場合、FILEステートメントに物理ファイルの場所とPRINTオプションを指定する必要があります。 |
出力ファイルのレコード形式を指定します。
範囲 | 指定する値は動作環境によって異なります。詳細については、使用している動作環境に対応するSASドキュメントを参照してください。 |
操作 | SAS 9.4では、グローバルLRECLシステムオプションのデフォルト値は32767です。固定長レコード(RECFM=F)を使用する場合、LRECLのデフォルト値は256になります。 |
現在のタイトル行をファイルのページ上に出力するかどうかを制御します。NOTITLESの指定を省略するか、TITLESを指定する場合、定義されているタイトルがあれば出力されます。
別名 | TITLE | NOTITLE |
デフォルト | TITLES |
このFILEステートメントの現在の出力バッファを参照する文字変数の名前を指定します。この変数は他の変数と同じように使用できます。また、値を割り当てることもできます。この変数の値は自動的に保持されます。初期値はブランクです。自動変数と同じように、_FILE_=に指定した変数はデータセットに書き込まれません。
制限事項 | variableには、すでに定義済みの変数は指定できません。_FILE_=オプションには、このDATAステップで初めて使用する変数を指定してください。LENGTHステートメントやATTRIBステートメントを使用して、_FILE_=に指定した変数の長さを設定したり変更することはできません。ただし、ATTRIBステートメントやFORMATステートメントを使用して、この変数に出力形式を指定することができます。 |
操作 | この文字変数の最大長は、指定したFILEステートメントの論理レコード長(LRECL)になります。ただし、プログラムの実行直前まで、SASがこのファイルを開いてLRECL=オプションの値を確認することはありません。そのため、コンパイル実行中は、この変数のサイズは32,767バイトになります。 |
ヒント | この変数の内容に対する変更は、FILEステートメントの現在の出力バッファの内容に直ちに反映されます。このFILEステートメントに対する後続のPUTステートメントにより、変更されたバッファの内容が出力されます。N=オプションで複数の出力を指定した場合でも、_FILE_=に指定した変数は、指定したFILEステートメントの現在の出力バッファにのみアクセスできます。 |
他のステートメントで_FILE_=オプションを使用せずに出力バッファの内容にアクセスするには、自動変数_FILE_を使用します。 | |
参照項目 | _FILE_変数の更新 |
file print; _file_ = '_FILE_'; put 'This is PUT';
This is PUT
file print; _file_ = 'This is from FILE, sir.'; put @14 'both';
This is from both, sir.
file ABC; put 'Something' @; Y = _file_||' is here'; file ABC; put 'Nothing' ; Y = _file_||' is here';
Something is here
が割り当てられ、次にis here
が割り当てられます。
data _null_; set sprint; by dept;
file print header=newpage;
if first.dept then put _page_; put @22 salesrep @34 salesamt;
return; newpage: put @20 'Sales for 1989' / @20 dept=; return; run;
data _null_; set info;
file print linesleft=remain pagesize=20; put @5 name @30 phone @35 bldg @37 room;
if remain<7 then put _page_ ; run;
data _null_;
file 'external-file' print n=pagesize;
do col=1, 40;
do line=1 to 20; set info; put #line @col name $20. +1 phone 4.; end;
end; put _page_; run;
data _null_;
length myout $ 200;
file file-specification filename=myout;
put myout=;
stop;
run;
MYOUT=your-output-file
data _null_; length name $ 200;
input name $;
file file-specification filevar=name mod;
date = date();
put 'records updated ' date date.;
datalines; external-file-1 external-file-2 external-file-3 ;
file file-specification linesize=80;
put name $ 1-50 city $ 71-90 state $ 91-104;
/* Start this first as the server */ filename serve socket ':5205' server recfm=s lrecl=25 blocksize=2500; data _null_; nb=25; infile serve nbyte=nb; input text $char25.; put _all_; run;
/* While the server test is running,*/
/*continue with this as the client. */
filename client socket "&hstname:5205"
recfm=s
lrecl=25 blocksize=2500;
data _null_;
file client;
put 'Some text to length 25...';
run;
libname myfiles 'SAS-library'; filename outfile 'external-file'; data _null_; set myfiles.cars; file outfile encoding="utf-8"; put Make Model Year; run;
data _null_; do i = 1 to 3; sheet = cats('excel|[test-sheet.xlsx]Sheet', i, '!r1c1:r10c2'); file area ftp filevar=sheet; do x = 1 to 10; y = 2*x; put x y; end; end; run;