本文鏈接:https://www.cnblogs.com/snoopy1866/p/16047222.html
修改輸出到數據集中的格式
結合ODS TRACE語句與ODS OUTPUT語句可以將任意過程步的結果輸出至數據集中,以便進一步處理。某些情況下,SAS輸出結果提供的小數位數可能不符合實際輸出的要求,這時候就需要修改默認的數值輸出格式了。
例如:使用PROC MEANS過程對數據集sashelp.class中的height變量進行匯總統計。
ods trace on;
ods output Summary = Summary;
proc means data = sashelp.class;
var height;
run;
ods trace off;
將均值與標准差修改成想要的輸出格式:
proc datasets noprint;
modify Summary;
format Height_Mean Height_StdDev 5.2;
quit;
修改輸出到結果查看器中的格式
如果還需要同時修改結果查看器中的輸出格式,就需要使用到模板了。
ODS TRACE ON和ODS TRACE OFF組合使用會在日志中打印過程步包含的可輸出的對象及對象的屬性,其中包括對象使用的模板:
在命令窗口中輸入"odstemplates",打開模板查看器,依次展開"Sashelp.Tmplmst -> Base -> Summary",雙擊"Summary"即可查看模板源代碼,或者使用source語句在日志中顯示源代碼:
proc template;
source base.summary;
run;
找到要修改的變量名,然后使用edit語句進行輸出格式的修改:
ODS PATH WORK.TEMPLAT(UPDATE) SASHELP.Tmplmst(READ); /*修改后的模板保存在work.templat中*/
proc template;
edit base.summary;
edit mean;
format = 5.2;
end;
edit stddev;
format = 5.2;
end;
edit min;
format = 4.1;
end;
edit max;
format = 4.1;
end;
end;
run;
重新運行PROC MEANS過程,結果如下:
為防止修改后的模板對其他輸出結果產生影響,最好及時刪除work.templat中的臨時模板,恢復為默認模板。
proc template;
delete base.summary;
run;