前のページ|次のページ

VARFMT関数

SASデータセット変数に割り当てられた出力形式を返します。

カテゴリ: SASファイルI/O

構文

必須引数

data-set-id

OPEN関数が返すデータセット識別子を指定します。

variable-number

SASデータセット内の変数の位置番号を指定します。

ヒント この番号は、CONTENTSプロシジャによって生成されるリスト内で変数の横に示されます。
VARNUM関数はこの番号を返します。

詳細

変数に出力形式が割り当てられていない場合、空白の文字列が返されます。

例1: VARFMTを使用した変数NAMEの出力形式の取得

この例では、SASデータセットMYDATA内の変数NAMEの出力形式を取得します。
%let dsid=%sysfunc(open(mydata, i));
%if &dsid %then
   %do;
      %let fmt=%sysfunc(varfmt(&dsid,
                        %sysfunc(varnum
                        (&dsid, NAME))));
      %let rc=%sysfunc(close(&dsid));
   %end;

例2: VARFMTを使用したデータセット内のすべての数値変数の出力形式の取得

この例は、SASデータセットMYDATA内に各数値変数の名前と書式化された内容を含むデータセットを作成します。
data vars;
   length name $ 8 content $ 12;
   drop dsid i num rc fmt;
   dsid=open("mydata", "i");
   num=attrn(dsid, "nvars");
   do while (fetch(dsid)=0);
      do i=1 to num;
         name=varname(dsid, i);
         if (vartype(dsid, i)='N') then do;
            fmt=varfmt(dsid, i);
            if fmt='' then fmt="BEST12.";
            content=putc(putn(getvarn
                        (dsid,i),fmt),"$char12.");
            output;
            end;
      end;
   end;
   rc=close(dsid);
run;

関連項目:

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