2020年6月14日

〔SAS〕使用ODS EXCEL將報表匯出為XLSX檔

長久以來SAS程序產出的報表,大都透過ODS HTML將報表轉EXCEL檔,之前介紹過ODS TAGSETS.EXCELXP的語法(後續簡稱ExcelXP),也很少被使用來處理報表轉EXCEL檔的需求。

ODS HTML應只是將HTML報表的副檔名改為XLS,WIDOWS系統在預設環境下,自然會以EXCEL開啟,算是一種偷吃步吧,但每次開啟檔案,EXCEL均會出現警告「’OOO.xls’的檔案格式與副檔名不相符。此檔案可能已損毀或不安全。除非您信任此檔案的來源,否則請勿開啟此檔案。您仍要開啟此檔案嗎?」(如下圖)。

’OOO.xls’的檔案格式與副檔名不相符。此檔案可能已損毀或不安全。除非您信任此檔案的來源,否則請勿開啟此檔案。您仍要開啟此檔案嗎?

雖然只是按一個「是(Y)」就可開啟,但檔案很多時,還是挺煩人的。而且就算使用ExcelXP來匯出報表,依然會出現相同的警告,因為ExcelXP所產生的EXCEL檔不是原生的EXCEL檔格式(native Excel format (.xlsx)),詳情請參考ODS TAGSETS.EXCELXP and ODS EXCEL SHOWDOWN

2020年2月15日

〔SAS〕使用SGPLOT繪散佈圖及程式巨集化

散佈圖(Scatter Plot、Scatter Diagram)亦稱為散布圖、相關圖等。目前在SAS繪製散佈圖有兩個較為簡單方法,一為使用PROC CORR,相關語法可見SAS官網的說明,用PROC CORR的方法相當簡單,而且同時會把人數、相關係數、檢定的P值呈現於圖中,但如要修改圖形或增加其他說明限制就很大了。

另一方法為本篇將分享的PROC SGPLOT,但限制為不會自動在圖形上呈現人數、相關係數和檢定的P值,此限制可透過巨集的幫忙而增加至圖形中,以PROC SGPLOT所繪統計圖,在之後需的編修彈性就高很多。

最後我們會把整組程式以改編為巨集程式,方便未來使用。

散佈圖(scatter plot)+橢圓圖(prediction ellipse)+迴歸線(regression line):

散佈圖(scatter plot)+橢圓圖(prediction ellipse)+迴歸線(regression line)