変数値と指定した文字列を出力行に書き込みます。
該当要素: | DATAステップ |
カテゴリ: | ファイル操作 |
種類: | 実行 |
指定した行または列に出力ポインタを移動させます。
参照項目 | カラムポインタコントロール |
行ポインタコントロール | |
例 | 文字列と変数値の書き込み |
変数の名前を指定します。指定した変数の値が書き込まれます。
例 | リスト出力の値の書き込み |
後ろに指定する文字列をn回繰り返します。
例 | 次のステートメントでは、出力行にアンダースコアを132回書き込みます。 put 132*'_'; |
書き込む文字列を一重引用符で囲んで指定します。
操作 | 指定した文字列全体を書き込むスペースが現在の行に残されていない場合、指定した文字列を保留して、現在の行を書き込みます。次に、新しい行の列1からこの保留した文字列を書き込みます。詳細については、ポインタが行の終わりを超える場合を参照してください。 |
ヒント | 誤って解釈されるのを防ぐため、PUTステートメントで使用する終了引用符の後ろには常にブランクを追加してください。 |
引用符の後ろにXがある場合、指定した文字列が16進定数であると判断されます。 | |
文字列として複数の一重引用符(`)または二重引用符(“)を間にブランクを挿入せずに使用する場合、1つの一重引用符( ')または二重引用符(“)が出力されます。 | |
参照項目 | リスト出力のスペース設定方法 |
例 | 文字列と変数値の書き込み |
PUTステートメントで変数値を書き込むときに使用する出力形式を指定できます。値の先頭または末尾にあるブランクは削除されます。また、値の後ろにブランクが1つ追加されます。
要件 | 出力形式を指定する必要があります。 |
参照項目 | 修飾リスト出力とフォーマット出力の違い |
例 | 修飾リスト出力(:)を用いた値の書き込み |
PUTステートメントで変数値を書き込むときに使用する出力形式を指定できます。フォーマット値に区切り文字が含まれていない場合でも、フォーマット値を引用符で囲んで表示します。値の先頭または末尾にあるブランクは削除されます。また、値の後ろにブランクが1つ追加されます。デフォルトでは、文字変数の欠損値はブランク(" ")として書き込まれ、数値の欠損値はピリオド(" ")として書き込まれます。
要件 | FILEステートメントにDSDオプションを指定する必要があります。 |
例 | 修飾リスト出力(~)を用いた値の書き込み |
データの値を書き込むときに使用する出力形式を指定します。
ヒント | SAS出力形式またはユーザー定義の出力形式のどちらかを指定できます。使用例については、 SAS出力形式と入力形式: リファレンス |
例 | 修飾リスト出力(:)を用いた値の書き込み |
次のPUTステートメントの実行時に使用できるように出力行を保持します。このラインホールド指定子は、後置@および後置@@と呼ばれます。
制限事項 | 後置@または後置@@は、PUTステートメントの最後の項目として指定する必要があります。 |
参照項目 | ラインホールド指定子の使用 |
data _null_; input x y; put x : comma10.2 y : 7.2; datalines; 2353.20 7.10 6231 121 ;
----+----1----+----2 2,353.20 7.10 6,231.00 121.00
put x comma10.2 y 7.2;
----+----1----+----2 2,353.20 7.10 6,231.00 121.00
data _null_; input name $ 1-10 sex $ 12 age 15-16; put name sex age; datalines; Joseph M 13 Mitchel M 14 Sue Ellen F 11 ;
----+----1----+----2----+----3----+----4 Joseph M 13 Mitchel M 14 Sue Ellen F 11
data _null_; input idno name $ startwght; put name 'weighs ' startwght +(-1) '.'; datalines; 032 David 180 049 Amelia 145 219 Alan 210 ;
David weighs 180. Amelia weighs 145. Alan weighs 210.
data _null_; input salesrep : $10. tot : comma6. date : date9.; put 'Week of ' date : worddate15. salesrep : $12. 'sales were ' tot : dollar9. + (-1) '.'; datalines; Wong 15,300 12OCT2004 Hoffman 9,600 12OCT2004 ;
Week of Oct 12, 2004 Wong sales were $15,300. Week of Oct 12, 2004 Hoffman sales were $9,600.
data _null_; input salesrep : $10. tot : comma6. date : date9.; file log delimiter=" " dsd; put 'Week of ' date ~ worddate15. salesrep ~ $12. 'sales were ' tot ~ dollar9. + (-1) '.'; datalines; Wong 15,300 12OCT2004 Hoffman 9,600 12OCT2004 ;
Week of "Oct 12, 2004" "Wong" sales were "$15,300". Week of "Oct 12, 2004" "Hoffman" sales were "$9,600".