以下の失敗例をご覧ください。
* 失敗例 ;
proc report data=sashelp.class; column name age; compute age; if age=13 then call define("age","style","style=[color=blue]"); endcomp; run; |
「AGE=13だったらAGEの文字色を青にする」というのがやりたかったのに、青になってないじゃん、っていう失敗例です。
さて、何がまずかったでしょうか。
まずは以下の前提知識が必要なのでお目通しを。。
REPORTプロシジャ入門4:集計【ANALYSIS】
REPORTプロシジャ入門10:数値変数の落とし穴
上のリンクの入門記事でも解説した通り、
REPORTプロシジャに指定した ”数値項目” は、以下のように「analysis sum」オプションが勝手について実行されます。
proc report data=sashelp.class;
column name age; define name / display; define age / analysis sum;
run;
|
analysis項目だと、COMPUTEの中では以下のように「項目名.統計量」という書き方をする必要があります。
proc report data=sashelp.class;
column name age; compute age; if age.sum=13 then call define("age.sum","style","style=[color=blue]"); endcomp; run; |
もしくは「analysis項目じゃないよ」っていうのをSASに教えるために、DISPLAYオプションを明示的に指定してあげます。
proc report data=sashelp.class;
column name age; define age / display; compute age; if age=13 then call define("age","style","style=[color=blue]"); endcomp; run; |
0 件のコメント:
コメントを投稿