ラベル ODS HTML の投稿を表示しています。 すべての投稿を表示
ラベル ODS HTML の投稿を表示しています。 すべての投稿を表示

2019年8月29日木曜日

「ODS HTML」は「PATH=オプション」を指定した方がいい





以下のプログラムの「file=」の部分をご自身の環境にあわせてパスを変えて実行してみてください。

ods html file="c:\mysas\test.html";

proc print data=sashelp.class;
run;

ods html close;




ちゃんと動きましたか??
なんか特定の環境でエラーになっちゃいます。たとえばSAS9.4M5のWindows環境だとエラーになります。


以下のページでも言及されてますね。
https://support.sas.com/kb/61/280.html



環境によってはレジストリの設定で、WORKのフォルダパスが「file=オプション」の先頭につくそうです。

つまり、「file="c:\mysas\test.html"」と設定したら「"WORKのフォルダパス\c:\mysas\test.html"」というパスと認識されちゃうってことですね。




解決法

「path=」にパス、「file=」にファイル名を切り分けることでうまく動きます。

ods html path="c:\mysas" file="test.html";




2017年9月5日火曜日

HTML出力で、カーソルを合わせた時にテキストをポップアップさせる




PROC REPORT や PROC PRINT でHTML出力する際 STYLE = [ FLYOVER="テキスト" ] という感じでポップアップテキストを仕込むことが出来ます。



以下の例は、HTML出力がONになっている前提です。

proc report data=SASHELP.CLASS;
    column NAME AGE HEIGHT;

    define NAME / display;
    define AGE / display;
    define HEIGHT / display;

    compute AGE;
       if AGE > 12 then
          call define("AGE","style","style(calldef)=[color=blue flyover='AGE > 12']");
    endcomp;
run;


STYLE=オプション内で、
  • AGE>12 のレコードの年齢を青く表示するよう指定
  • 同時に 「FLYOVER=」を使ってAGE>12のレコードの年齢にカーソルを合わせると "AGE > 12" というテキストがポップアップするよう指定

📝 ただし

STYLE=オプションは色々な場所に設定することができますが、それら全てについて正しく動作するか検証できていないので、ご利用時には動作確認を行ってください


あと話それるけど、高頻度で「うまくいかない!」と質問いただくので、こちらも参照下さい

そもそも「STYLE=オプション」って何?って方は以下記事も参照下さい
REPORTプロシジャ入門8:書式の設定【STYLE=】



2015年5月8日金曜日

ODS HTML,RTF,PDF等の出力で、別々のファイルに同時出力する方法




まずは、以下のプログラムと実行結果を見てみましょう。

*** サンプルデータ作成 ;
data DT1;
   A=1;
run;

data DT2;
   B=2;
run;

*** 別々のファイルに同時出力する ;
ods html(1)  path="C:\"  file="TEST1.html";
ods html(2)  path="C:\"  file="TEST2.html";

   proc print data=DT1;
   run;

ods html(1) close;

   proc print data=DT2;
   run;

ods html(2) close;

出力ファイル

TEST1.html


TEST2.html


「TEST1.html」 には、最初の PRINTプロシジャの結果だけが出力され、
「TEST2.html」 には、すべての PRINTプロシジャの結果が出力されています。


「ods html(1)」 や 「ods html(2)」 というように書くことで、
同時に別々のファイルに出力することが出来ます。


ODS RTFやPDFでも同様にいけます。