2012年11月13日

【SAS 9.3小技巧】將中文報表改回到英文報表

好吧,等讀完整篇後,必須先承認這真的是小技巧….

在安裝完SAS 9.3後很自然選擇開啟「SAS 9.3 (中文 (繁體))」,然後跑了幾程式後,看到中文化的報表,起初看到圖1的結果後,覺得不錯耶,對入門者很友善。

圖1
image

2012年10月27日

(原)台中市房價的對話-買房屋要多少錢?

希望…

當我準備在(原)台中市購屋後,也看一些待售的房屋後,一些打算購屋朋友(但還沒行動),就開始出現許多有趣的問題,例如

台中房價到底如何?

什麼那個地方的房屋不值這個價錢啦!

這個價錢都可以買獨棟房屋了!

房價有那麼貴嗎?應該是亂開的啦!

聽到這些問題後,我心中有許多的疑問,房價真有如朋友口中得那麼高呢,還是朋友們的房價記憶能停留在先前的年代?

在早期的年代,所有房價的訊息只能透過仲介,我自己看房子也愛問,這樣狀況的房屋應該會賣多少錢?多少錢買到才會合理?不管仲介給怎樣的數據我都很懷疑。

在內政部推不動產實價登記前,有內政部曾邀請房仲業者自行將售屋資訊提供出來(http://ehouse.land.moi.gov.tw/A0/A10/A1001/A1001A.aspx),這是在實價登錄前相對完整的房屋成交資訊了。

因此~我試圖對台中市房價的瞭解了。

-----------故事開始-------------

2012年10月14日

【SAS 9.3小技巧】SAS 9.3 64位元版匯入Excel?!

使用SAS 9.3 64位元版,可能會遇到匯入Excel檔案失敗的狀況。
舉例來說,用以下語法匯入Excel檔案:

PROC IMPORT OUT= WORK.ehouse1
DATAFILE= "D:\成交狀況.xlsx"
DBMS=EXCEL REPLACE;
RANGE="資料$";
SCANTEXT=YES;
USEDATE=YES;
SCANTIME=YES;
RUN;

在LOG(日誌)會出現以下的文字:
ERROR: Connect: 類別未登錄
ERROR: Error in the LIBNAME statement.
Connection Failed. See log for details.

在SAS使用手冊明明寫到32和64位元版均可以透過PROC IMPORT匯入Excel檔案了,但為什麼會失敗了?

2012年10月10日

【SAS 9.3小技巧】HTML結果無法清除?! (2012/10/23更新補充)

 

在SAS 9.3版明顯改變就是結果預設改為「HTML結果」(在視窗列下方英文名稱為Results Viewer),而不是傳統的報表結果。
HTML結果使用採用新的樣式Htmlblue,整體視覺效果相當亮眼,如果使用中文版,報表的說明也會改用中文,而非之前的英文。

clip_image002

但!使用下來卻發現一個問題,我沒辦法將HTML結果清除,報表就越來越長…越來越長…真的相當困擾。

2012年5月26日

「數字前補零」—以Data step和Macro為例(SAS Macro教學)


前幾天朋友又問了一個問題,朋友手上資料有一串數字,例如5、6、20等,希望能在數字前面補零,補成為005、006、020。因為他的資料很多,而且數字長度不一定,從1~9999都有可能,因此沒辦法用CAT系列函數將零組合到數字前面。
由這個問題,開始這篇第一個程式,建立範例資料(這是我的習慣,沒有資料我寫不出程式>"< )

data zero1_1;
   input num1;
   datalines;
   1
   25
   562
   9480
   X
  ;
proc print data=zero1_1;
run;

接下來不囉唆,直接使用Format就可以解決這個問題了,而這裡要使用的Format為Zw.d
data zero1_2;
   set zero1_1;
   format num1 z5.;
   run;
proc print data=zero1_2;
run;

結果為下圖
擷取
只要簡簡單單使用Z5.這個格式便可以處理了。Z後面接這個5是指數字的總長度,因此以第4個觀察值來說,原本的數字就有4位了,因此SAS會只補一個0了。