ラベル libname excel.dblabel= の投稿を表示しています。 すべての投稿を表示
ラベル libname excel.dblabel= の投稿を表示しています。 すべての投稿を表示

LIBNAME EXCELでSASからエクセルにデータセットを出力する際 dblabel=YESで変数名ではなくラベルがでるようにする

以前、options validvarname=any;のところでLIBNAME EXCELで列名として自由なテキスト出す際に命名規則をanyにして変数名を日本語にしたデータセットをつくれば、あとは出すだけだけど、筋が悪いやりかと、書きました。

じゃあその場合の、正しいやり方は何ですか?と質問をうけたので、それについて書きます。
あ、今回のやつを実行するにはSAS ACCESSのライセンスが必要で、かつ9.2以降です。

今、ラベルのついた以下のデータセットがあったとします。
data Q1;
X='い';Y='ろ';output;
X='は';Y='に';output;
label X='ラベルX' Y='ラベルY';
run;

存在しないパスに対してLIBNAMEを指定して、新しいエクセルファイル「AA.xlsx」を出現させ、
そのままシートA1とA2を作成するコードを実行してlibnameを解除します。
A2のほうには(dblabel=YES)を指定しています。

libname OUTEX "D:\AA.xlsx" header=yes scantext=no;

data OUTEX.A1;
 set Q1;
run;

data OUTEX.A2(dblabel=YES);
 set Q1;
run;

libname OUTEX clear;


そしてエクセルを開いて、2つのシートを比較してみます。

【シートA1】








【シートA2】







といった感じです。