proc report 指定行(◯行目)を強調する - SAS
proc report で指定した行(◯行目)だけを強調表現する方法です。
/* テストデータ */ data TEST ; do I=1 to 10 ; R = ranuni(int(datetime())) ; output ; end ; run ; ods rtf file="/folders/myfolders/test.rtf" ; proc report data=TEST nowd ; column I R ; define I / display ; define R / display format=12.9 ; compute I ; COUNT + 1 ; /* 5行目だけに適用 */ if COUNT = 5 then do ; call define(_ROW_, 'style', 'style=[Color=red BackgroundColor=Yellow]') ; end ; endcomp ; run ; ods rtf close ;
compute内にて、変数 COUNT を用いて、行番号をカウントしています。if COUNT = 5 then で 5行目だけに、call define が実行されるようにします。call define では 文字色を赤、背景色を黄色にするように設定しています。
RTF の出力結果を確認すると、5行目だけちゃんと強調されています。
せっかくなので、もっと強調してみる
style=[~] と、四角括弧の中に設定するスタイルを記載します。文字色、背景色の設定だけでなく、文字のスタイル、フォント、罫線のスタイルや色なども設定できます。
強調したい行をより強調表現してみましょう。
ods rtf file="/folders/myfolders/test.rtf" ; proc report data=TEST nowd style(header)=[Fontfamily='Couriel' FontWeight=bold FontSize=3 BackgroundColor=AliceBlue] ; column I R ; define I / display style=[TextAlign=Center BackgroundColor=AliceBlue FontStyle=Italic] ; define R / display style=[TextAlign=Center] format=12.9 ; compute I ; COUNT + 1 ; /* 5行目だけに適用 */ if COUNT = 5 then do ; call define(_ROW_, 'style', 'style=[Color=Crimson BackgroundColor=Yellow BorderStyle=double BorderColor=RoyalBlue BorderWidth=6]') ; end ; endcomp ; run ; ods rtf close ;
レポートの出力方法によって、適応可能なスタイルが異なります。SAS UniversityEdition(SAS雲丹) 上に出力されるレポートの結果では、罫線の色やスタイルがきちんと適応されています。RTF出力では、罫線の設定が適応されていません。HTML, PDF, RTF など、色んなレポート出力形式がありますが、適応可能スタイルはそれぞれ違うのでご注意ください。
proc report 内で使用したスタイル
- Fontfamily='~'
- 文字のフォントを指定します。
指定例: Arial, Couriel, etc - FontWeight=~
- 文字のフォントウェイトを指定します。
指定例: Medium, Bold - FontSize=~
- 文字のフォントサイズを指定します。
- FontStyle=~
- 文字のフォントスタイルを指定します。
指定例: Italic - Color=~
- 文字の色を指定します。
指定例: Red, Green, Blue, etc - TextAlign=~
- 文字の両端揃えを指定します。
指定例: Center, Left, Right, Dec - BackgroundColor=~
- 背景色の色を指定します。
指定例: Red, Green, Blue, etc - BorderStyle=~
- 罫線のスタイルを指定します。
指定例: Dashed, Double, Dotted, etc - BorderColor=~
- 罫線の色を指定します。
指定例: Red, Green, Blue, etc - BorderWidth=~
- 罫線の幅を指定します。
コメント
コメントを投稿