前のページ|次のページ

PUTステートメント、名前付き

変数名と等号の後に変数値を書き込みます。

該当要素: DATAステップ
カテゴリ: ファイル操作
種類: 実行

構文

引数

pointer-control

出力バッファ内の指定した行または列に出力ポインタを移動させます。

参照項目 カラムポインタコントロール
行ポインタコントロール

variable=

変数を次の形式で指定します。指定した変数値がPUTステートメントで書き込まれます。

variable=value

の形式で書き込まれる値を指定します。

変数の値を書き込むときに使用する出力形式を指定します。

ヒント 出力形式の長さには、値に加えて出力形式の指定に使用するカンマ、ドル記号、小数点、その他の特殊文字を表示するのに十分なスペースを指定してください。
参照項目 名前付き出力のフォーマット
次のPUTステートメントでは、出力形式 DOLLAR7.2を使用してXの値を書き込みます。
put x= dollar7.2;
X=100の場合、フォーマット値は7列使用します。
X=$100.00

start-column

変数名、等号、値を書き込む出力行のフィールドの開始列位置を指定します。

– end-column

値のフィールドの最終列位置を指定します。

ヒント 変数名、等号、値の表示に必要な列数が指定した列数より多い場合、値を切り捨てずに列の最終位置を越えて書き込みます。そのため、次の値の開始位置との間に十分なスペースを確保する必要があります。

.decimal-places

数値で使用する小数点以下の桁数を指定します。dに0を指定したり、dの値を省略する場合は、小数点なしの値が書き込まれます。

範囲 正の整数

@ | @@

次のPUTステートメントの実行時に使用できるように出力行を保持します。出力行は、DATAステップの反復間でも保持されます。このラインホールド指定子は、後置@および後置@@と呼ばれます。

制限事項 後置@または後置@@は、PUTステートメントの最後の項目として指定する必要があります。
参照項目 ラインホールド指定子の使用

詳細

名前付き出力の使用

名前付き出力を使用するには、PUTステートメントに変数名の後に等号を指定します。変数名と値の表示位置を指定するには、リスト出力、カラム出力、フォーマット出力のいずれかを使用できます。各変数の間に自動的にブランクを挿入するには、リスト出力を使用します。列の出力をそろえるには、ポインタコントロールと列を指定します。

名前付き出力のフォーマット

SAS出力形式またはユーザー定義の出力形式のいずれかを指定して、変数値の出力を制御することができます。出力形式の幅には、変数名と等号の表示に必要な列は含まれません。フォーマット値を揃えるため、変数値は先頭にあるブランクは削除され、等号のすぐ後ろに書き込まれます。名前付きでないフォーマット出力のように、指定した幅の右側に揃えることはありません。
SAS出力形式の詳細については、XisError: No pubcode in link data found for leforinforrefを参照してください。

例: PUTステートメントで名前付き出力を使用する

PUTステートメントで名前付き出力を使用する例を次に示します。
  • このPUTステートメントでは、名前付き出力とカラムポインタコントロールを組み合わせて出力を配置します。
    data _null_;
       input name $ 1-18 score1 score2 score3;
       put name = @20 score1= score3= ;
       datalines;
    Joseph                  11   32   76
    Mitchel                 13   29   82
    Sue Ellen               14   27   74
    ;
    このプログラムを実行すると、次の行がSASログに出力されます。
    ----+----1----+----2----+----3----+----4
    NAME=Joseph        SCORE1=11 SCORE3=76
    NAME=Mitchel       SCORE1=13 SCORE3=82
    NAME=Sue Ellen     SCORE1=14 SCORE3=74
  • この例では、変数AMOUNTの出力形式を指定します。
    put item= @25 amount= dollar12.2;
    ITEMの値がbindersでAMOUNTの値が153.25の場合、出力行は次のように表示されます。
    ----+----1----+----2----+----3----+----4
    ITEM=binders            AMOUNT=$153.25

関連項目:

ステートメント:
前のページ|次のページ|ページの先頭へ