2019年5月22日水曜日

ODS EXCEL入門: EXCELの「ページ設定」の「ヘッダー/フッター」タブの内容を設定する




今回は以下のオプションについて解説しています。

  • PRINT_HEADER
  • PRINT_FOOTER
  • EMBEDDED_TITLES
  • EMBEDDED_FOOTNOTES
  • EMBED_TITLES_ONCE
  • EMBED_FOOTNOTES_ONCE




EXCELの「ページ設定」→「ヘッダー/フッター」タブで、ヘッダーとフッターを設定できるけど、それをODS EXCEL側で設定する方法をご紹介。






ヘッダー/フッターの設定


構文
ODS EXCEL OPTIONS(   
        PRINT_HEADER = "ヘッダーテキスト"
        PRINT_FOOTER = "フッターテキスト"
);



title;
footnote;

ods excel file="出力するパスを指定\test.xlsx" options(
    print_header = "myへっだー"
    print_footer = "myふったー");

    proc means data=sashelp.class;
        var height;
        class sex;
    run;

ods excel close;





ただし、以下のように「TITLEステートメント」や「FOOTNOTEステートメント」が設定されている場合は、そちらがExcelの「ヘッダー/フッター」として優先されます。


title "titleステートメントが優先される";
footnote "footnoteステートメントが優先される";

ods excel file="出力するパスを指定\test2.xlsx" options(
    print_header = "myへっだー"
    print_footer = "myふったー");

    proc means data=sashelp.class;
        var height;
        class sex;
    run;

ods excel close;



ちなみに以下の記事で「ヘッダー・フッター」の小技を紹介しているので、余裕があったら参考までに。。
ODS EXCELで「ヘッダー・フッター」の書式を設定する





「TITLEステートメント」と「FOOTNOTEステートメント」の設定いろいろ


ここから、おまけ。

以下オプションで「TITLEステートメント」や「FOOTNOTEステートメント」の値を「ヘッダー/フッター」ではなく、セルに出力することが出来ます。


構文
ODS EXCEL OPTIONS(   
    EMBEDDED_TITLES = "ON" | "OFF"
    EMBEDDED_FOOTNOTES = "ON" | "OFF"
);




title "titleをセルに埋め込む";
footnote "footnoteをセルに埋め込む";

ods excel file="出力するパスを指定\test3.xlsx" options(
    sheet_interval = "none"
    embedded_titles = 'on'
    embedded_footnotes = 'on'
    );

    proc means data=sashelp.class;
        var height;
        class sex;
    run;

    proc means data=sashelp.class;
        var height;
        class age;
    run;

ods excel close;


TITLEとFOOTNOTEをセルに出力することが出来ました!
ただし、気になるところが。。

上の例では、MEANSプロシジャを2回実行して2つの表を出力していますが、各表毎にTITLEとFOOTNOTEが表示されちゃってます。。




そこで、以下のオプションを指定すると、TITLEとFOOTNOTEを一番最初と最後だけに出力するようにできます。


構文
ODS EXCEL OPTIONS(   
     EMBED_TITLES_ONCE = "ON" | "OFF"
     EMBED_FOOTNOTES_ONCE = "ON" | "OFF"
);


title "titleをセルに埋め込む";
footnote "footnoteをセルに埋め込む";

ods excel file="出力するパスを指定\test4.xlsx" options(
    sheet_interval = "none"
    embedded_titles = 'on'
    embedded_footnotes = 'on'
    embed_titles_once = 'on'
    embed_footnotes_once = 'on'
    );

    proc means data=sashelp.class;
        var height;
        class sex;
    run;

    proc means data=sashelp.class;
        var height;
        class age;
    run;

ods excel close;


こっちの方がスッキリしてていいですね。





ODS EXCEL入門記事一覧


注意点

0 件のコメント:

コメントを投稿