変数ラベルに変数名を追加

Last-modified: 2008-07-03 (木) 01:11:59

現在の変数ラベルに,自動的に変数名を追加するプログラムです.
PRINTプロシジャで変数名とラベル名を両方表示したい時に使います.

*******************************************
 varlabel.sas
 010404 翔
 dataset のラベルに,変数名を追記する
 program generator
 ex) ラベル"性別" を "sex-性別" とする
 注) ラベルは,100byteで切り捨てになる
*******************************************;


%macro varlabel(lib /* 対象Datasetのlibname */
               ,ds  /* 対象Datasetのdataset name */
               );

proc contents data=&lib..&ds noprint out=varlab;run;

data _null_;set varlab end=eof;
  file "tmp.sas";

  if _n_=1 then do;
    put "proc datasets lib=&lib;";
    put "  modify &ds;";
  end;

  length varlabel $ 100;
  varlabel='"'||compress(name)||"-"||compress(label)||'";';
  put "  label " name "= " varlabel;

  if eof then put "run;";
run;
%inc "tmp.sas";

%mend;

/*起動方法*/
%*inc "e:\mytools\varlabel.sas";
%*varlabel(work,dsn);