前のページ|次のページ

PUTC関数

実行時に文字の出力形式を指定できるようにします。

カテゴリ: 特殊

構文

必須引数

value

フォーマットされる文字値を指定します。

format-specification

valueに適用する文字出力形式です。

有効な出力形式の指定方法は次のようになります。
  • format-name
  • format-name.
  • format-namew.
format-nameを除き、format-specificationに–L、–R、および–Cを使用して、左揃え、右揃え、中央揃えで出力を配置できます。たとえば、第2引数format-specificationの値には'upcase.-c’を使用できます。

オプション引数

w

出力形式に適用する幅を指定する数値定数、変数または式です。

操作 ここで指定した幅は、出力形式での幅の指定より優先されます。

詳細

まだ長さが割り当てられていない変数にPUTC関数から値が返される場合、その変数の長さは最初の引数の長さによって決定されます。

比較

PUTN関数は、実行時に数値の出力形式を指定できるようにします。
PUT関数は実行時ではなくコンパイル時に出力形式を指定できるため、PUTCよりも高速です。

例1: PUTC関数の操作

PROC FORMATステップでは、このステップで作成する他の3つの出力形式のいずれかの名前で変数値1、2および3をフォーマットする、出力形式TYPEFMT.を作成します。これら3つの出力形式では、質問の種類に応じて、異なる単語として"positive"、"negative"および"neutral"の応答を出力します。PROC FORMATで出力形式を作成した後に、DATAステップで質問と応答の種類を識別する番号で構成された生データを使用して、SASデータセットを作成します。レコードの読み取り後、DATAステップでTYPEの値を使用して、変数RESPFMTを作成します。この変数は、現在の質問の種類に適切な出力形式の値を含みます。また、応答に適切な単語の値が含まれる別の変数WORDもDATAステップで作成します。PUTC関数は、質問の種類と適切な出力形式に基づいてWORDの値を割り当てます。
proc format;
   value typefmt 1='$groupx' 
                 2='$groupy'
                 3='$groupz';
   value $groupx 'positive'='agree'
                 'negative'='disagree'
                 'neutral'='notsure ';
   value $groupy 'positive'='accept'
                 'negative'='reject'
                 'neutral'='possible';
   value $groupz 'positive'='pass    '
                 'negative'='fail'
                 'neutral'='retest';
run;
data answers;
   length word $ 8;
   input type response $;
   respfmt=put(type, typefmt.);
   word=putc(response, respfmt);
   datalines;
1 positive
1 negative
1 neutral
2 positive
2 negative
2 neutral
3 positive
3 negative
3 neutral
;

proc print data=answers;
   title 'Using the Third Argument as a Number or Cycle';
run;
PUTC関数からの出力
PUTC関数からの出力
開始オブザベーションの変数WORDの値はagreeです。最終オブザベーションの変数WORDの値はretestです。

例2: 文字値の配置

この例では、Aの値を配置する、出力形式と配置文字の使用方法を示します。
data _null_;
   length a $20;
   a='experiment';
   y=putc(a,'upcase.-r',20);
   put '*' y $char20. '*';
   put '*' a $upcase20. '*';
run;
* EXPERIMENT* *EXPERIMENT *

関連項目:

前のページ|次のページ|ページの先頭へ