2019年5月31日金曜日

ODS EXCEL入門: 行と列の設定




今回は以下のオプションをご紹介します。
  • HIDDEN_COLUMNS
  • HIDDEN_ROWS
  • ABSOLUTE_ROW_HEIGHT
  • ABSOLUTE_COLUMN_WIDTH
  • ROW_HEIGHTS




行と列を非表示にする



構文
ODS EXCEL OPTIONS(
        HIDDEN_ROWS = "非表示にする行" 
        HIDDEN_COLUMNS = "非表示にする列" 
);




ods excel file="出力するパスを指定\test1.xlsx"  options(
    hidden_rows = "1-3,5"
    hidden_columns = "1,2" );

    proc report data=sashelp.class;
    run;

ods excel close;


  • hidden_rows = "1-3,5"
1~3、5行目を非表示にしています。

  • hidden_columns = "1,2" 
1、2列目を非表示にしています。





行の高さと列の幅



構文
ODS EXCEL OPTIONS(
       ABSOLUTE_ROW_HEIGHT = "行の高さ" 
       ABSOLUTE_COLUMN_WIDTH = "列の幅" 
);




ods excel file="出力するパスを指定\test2.xlsx"  options(
    absolute_row_height = "0.5in"
    absolute_column_width = "0.5in, 1in" );

    proc report data=sashelp.class;
    run;

ods excel close;


  • absolute_row_height = "0.5in"
全ての行の高さを0.5インチに設定。

  • absolute_column_width = "0.5in,1in"
1列目「0.5インチ」、2列目「1インチ」、
3列目「0.5インチ」、4列目「1インチ」、
5列目「0.5インチ」、、、

...と繰り返すように列幅を設定。


  • ちなみに高さを指定したくない行や、幅を指定したくない列がある場合は「0」を指定する。
たとえば「absolute_row_height = "0.5in,0"」みたいに設定すると、1, 3, 5, 7...行目を「0.5インチ」に設定していることになる。




行の種類ごとに高さを設定する


以下のようにタイトルの行とか、BYLINEの行とか、行の種類毎に高さを設定することができます。





構文
ODS EXCEL OPTIONS(  ROW_HEIGHTS = "table header の高さ ,
                                                                         table body の高さ ,
                                                                         BY lines の高さ ,
                                                                         titles の高さ ,
                                                                         footers の高さ ,
                                                                         page break の高さ ,
                                                                         paragraph skip の高さ"
);


  • 上の構文の「page break」が何の高さなのか、よく分からんです。改ページの高さって??分かる方教えて。。
  • paragraph skip」ってのは、各段落(タイトル行とかBY値の行とか)の間に空白行がありますよね?その空白行のことです。




title "MyTitle";

ods excel file="出力するパスを指定\test3.xlsx"  options(
    embedded_titles = "on"
    row_heights = "0.5in, 0.3in, 0, 0, 0, 0, 0.1in" );

    proc report data=sashelp.class;
    run;

ods excel close;


  • row_heights = "0.5in, 0.3in, 0, 0, 0, 0, 0.1in"

表のヘッダー        「0.5インチ」
表の中身               「0.3インチ」
段落の間の空白行 「0.1インチ」

...というように行の要素ごとに高さを設定しています。

設定しない要素には「0」を入れておきます。





ODS EXCEL入門記事一覧


注意点

2 件のコメント:

  1. いつも分かりやすい情報ありがとうございます。とても助かっています。
    ところで、上記の説明の 「row_heights」って、行の高さのことのような気がします。。。

    返信削除
  2. ruby様
    コメントありがとうございます!
    行の高さに変更させていただきました。ご指摘ありがとうございます。

    返信削除