LABELの値を取得する関数

[OS] ALL
[リリース] 8.2
[キーワード] DATA, FUNCTION, LABEL, VLABEL

[質問]

DATAステップでLABELの値を取得する際に、いったんマクロ変数として定義してから使用していますが、もう少し簡単にLABELの値を取得することはできないでしょうか?

[回答]

これまでLABELの値を取得するには、SASHELPビューまたはCONTENTSプロシジャの出力をマクロ変数として定義してから使用するなどの必要がありました。SAS System 8では、新たに追加されたVLABEL関数を用いることで、容易にLABELの値を参照・取得することができるようになりました。下記は、SASデータセットのLABEL値と変数値をログウィンドウへ出力するプログラムの例です。

プログラム例

DATA test;       /* 変数ラベル付きデータセットの作成*/
  INPUT id var $;
  LABEL id="識別番号" var="文字列";
CARDS;
1 test1
2 test2
3 test3

;
RUN;

DATA _NULL_;     /* ラベルと変数の値をログウィンドウへ出力*/
  SET test;
  IF _N_ = 1 THEN DO; /* 1オブザベーション目のみの処理*/
    lab_id = vlabel(id);     /* 変数idのラベル値を取得*/
    lab_var = vlabel(var);  /* 変数varのラベル値を取得*/
      PUT lab_id 
          lab_var; /* 取得したラベル値をログウィンドウへ出力*/
  END;
  PUT id var;           /* 変数値をログウィンドウへ出力*/
RUN;