前のページ|次のページ

PUT関数

指定した出力形式を使用して値を返します。

カテゴリ: 特殊

構文

PUT(source, format.)

必須引数

source

値の出力形式を変更する定数、変数または式を識別します。source引数は文字または数値にできます。

format.

sourceで指定する値に適用するSAS出力形式を含みます。この引数は、ピリオドを使用した出力形式の名前にする必要があります。必要に応じて幅と小数を指定します。文字定数、文字変数または文字式ではありません。デフォルトでは、sourceが数値の場合は結果の文字列が右揃えになり、sourceが文字の場合は結果が左揃えになります。デフォルトの配置をオーバーライドするには、配置の指定を出力形式に追加できます。

-L 値を左揃えにします。
-C 値を中央揃えにします。
-R 値を右揃えにします。
制限事項 format.は、 sourceと同じ種類(文字か数値)にする必要があります。つまり、sourceが文字の場合は出力形式名の最初の文字をドル記号にする必要がありますが、sourceが数値の場合は出力形式名の最初の文字をドル記号にはできません。

詳細

まだ長さが割り当てられていない変数にPUT関数から値が返される場合、デフォルトでその変数の長さは出力形式の幅によって決定されます。
数値を文字値に変換するには、PUT関数を使用します。PUT関数は、PUTステートメントでどの出力形式を使用するのか、またはデータセット内の変数にどの出力形式を割り当てるのかには影響しません。PUT関数を使用して、データセット内の変数の種類を数値から文字に直接変換することはできません。ただし、PUT関数の結果として新しい文字変数を作成することができます。次に、必要に応じて、DROPステートメントを使用して元の数値変数を削除した後、RENAMEステートメントを使用して新しい変数の名前を元の変数名に戻します。

比較

PUTステートメントとPUT関数は似ています。PUT関数は、指定した出力形式を使用して値を返します。変数に値を格納するには、割り当てステートメントを使用する必要があります。PUTステートメントは、外部の出力先(SASログか指定する出力先のいずれか)に値を書き込みます。

例1: 数値から文字値への変換

この例では、第1ステートメントでcc(数値変数)の値を4文字の16進表記に変換し、第2ステートメントでPUT関数が返す値と同じ値を書き込みます。
cchex=put(cc,hex4.);
put cc hex4.;
ccの元の変数名を文字変数として維持する必要がある場合は、PUT関数の後にDROPステートメントとRENAMEステートメントを使用します。
cchex=put(cc,hex4.);
drop cc;
rename cchex=cc;
cc変数の数値から新しいcchex変数が文字変数として作成されます。DROPステートメントは、数値変数ccがデータセットに書き込まれないようにし、RENAMEステートメントは新しい文字変数cchexccという名前に戻します。

例2: PUT関数とINPUT関数を使用する

この例では、PUT関数が数値を文字列として返します。値122591がCHARDATE変数に割り当てられます。INPUT関数は、SAS日付入力形式を使用して文字列の値をSAS日付値として返します。値11681がSASDATE変数に格納されます。
numdate=122591;
chardate=put(numdate, z6.);
sasdate=input(chardate, mmddyy6.);

関連項目:

ステートメント:
PUT Statement (SAS ステートメント: リファレンス)
前のページ|次のページ|ページの先頭へ