VLABEL関数の話

VLABEL関数は、変数についてるラベルの内容を返します。データによってはラベルに必要な情報が含まれていることもある(むしろラベルにしかなかったりするバットな場合も)ので例えば

data Q1;
NAME='Aさん';CHECK1='Y';CHECK2='N';CHECK3='Y';output;
NAME='Bさん';CHECK1='Y';CHECK2='Y';CHECK3='Y';output;
NAME='Cさん';CHECK1='N';CHECK2='N';CHECK3='Y';output;
NAME='Dさん';CHECK1='N';CHECK2='N';CHECK3='N';output;
label CHECK1='高学歴' CHECK2='高収入' CHECK3='高身長';
run;








みたいなデータセットがあって







みたいなデータセットを作れと言われた時に、

まあ、このラベルの内容がこの程度の長さなら、普通に書いてもいいですが、以下のように
VLABEL関数でラベルの内容を利用して


data A1;
 set Q1;
 PROFILE=catx('、',
          IFC(CHECK1='Y',VLABEL(CHECK1),'')
         ,IFC(CHECK2='Y',VLABEL(CHECK2),'')
         ,IFC(CHECK3='Y',VLABEL(CHECK3),'')
         );
 run;

て感じでも書けます。最近たまたま実戦で多く使ったので、紹介してみました。




0 件のコメント:

コメントを投稿