tagsets excelxpでODS出力をエクセルファイルにする時に、セルの表示形式を設定する方法

例えば、以下のようなデータセットがあったとします。

data Q1;
IDNO='001';X='い';Y=1;output;
IDNO='002';X='ろ';Y=2.2;output;
run;






これに対して

ods tagsets.excelxp file='D:\A.xls';
proc print data=Q1 noobs;
 var IDNO X Y;
run;
ods tagsets.excelxp close;

とすれば、純粋なエクセルではないのでファイルが開く際に
確認のメッセージが入りますがOKすれば








こんな感じのエクセルファイルができると思います。

便利なのでちょっとした出力の際によく使うのですが、
これだとセルの表示形式が「標準」になってしまうため、「001」といったテキストが
1になってしまいます。

そういった場合に次のように書くことで回避できます。

ods tagsets.excelxp file='D:\B.xls';
proc print data=Q1 noobs;
 var IDNO/style={tagattr='format:text'};
 var X;
 var Y/style={tagattr='format:0.0'};
run;
ods tagsets.excelxp close;
















/style={tagattr='format:text'}と打つことで「文字列」とすることができ、

また/style={tagattr='format:0.0'};で有効表示桁数を設定できます。



0 件のコメント:

コメントを投稿