ODS PDFでしおりの名前を自由に設定する  proclabelやproc printのcontents pageby等

ODSを使えば、いろんなファイル形式に出力できますが、PDFは見栄えが綺麗で、単純な指定で、
結構それっぽく?仕上がるので、便利です。基本文字切れしないし。

そんなPDFの小技の一部です。

data LB;
subjid='A';visit='サイクル1';val=100;output;
subjid='A';visit='サイクル2';val=100;output;
label SUBJID='症例番号' VISIT='サイクル' VAL='検査値';
run;

data VITAL;
subjid='B';visit='サイクル1';val=50;output;
subjid='B';visit='サイクル2';val=70;output;
label SUBJID='症例番号' VISIT='サイクル' VAL='検査値';
run;

適当なデータがあって

ods pdf file="display1.pdf";
 proc print data=lb;
  by visit;
 run;
 proc print data=vital:
  by visit;
 run;
ods pdf close;

こんな感じで実行すると












こんな感じですね。

今回注目なのは
左側にある「しおり」の部分です。

「Printプロシジャ」―「サイクル=サイクル1」-「データセット WORK.LB」とかって
勝手になってます。

SAS知っている人に見せるなら、解ってもらえるのですが、以前まったく知らない人に
出力結果を速報として(親切で)あげようと思ってods pdfでぱっと作って差しあげた際
その人から「Printプロシジャ」ってなに?WORK.ってなんなの?とか聞かれて
1つ1つ説明した挙句、「わかんないから手で普通の言葉に直して、あと最終レポートも早く作ってね」と言われて、まあ、そりゃそうかと思いつつ、ポチポチ手で直した寂しい記憶があります。


でもそういう時

ods pdf file="display2.pdf";
 ods proclabel='臨床検査';
 proc print data=lb
  contents="データ元:LB";
  by visit;
  pageby visit;
 run;

 ods proclabel='バイタルサイン';
 proc print data=vital
  contents="データ元:VITAL";
  by visit;
  pageby visit;
 run;
ods pdf close;


こんな感じで、色々工夫できます。

先に実行結果から


ods proclabelでプロシジャ出力の最上位のしおりを指定できます。
byはby変数がそのまましおりになりますが、pageby等で、ページを分けることができます。
contents=で、元データのしおりを制御できます。

実は、もっと山ほどオプションがあって、階層いじったりもできるのですが、とりあえずここまで。










0 件のコメント:

コメントを投稿