發表文章

目前顯示的是 2012的文章

【SAS小技巧】一起使用快速鍵吧!(Using short-cut in SAS)

圖片
這一段時間沒什麼機會用寫程式,只好到處亂看技術文章,保持對程式的熱情! 由 SAS® Enhanced Editor: Efficient Techniques 介紹才知道原來SAS有內建許多實用的快速鍵。

【SAS 小技巧】調整Log視窗的字型(Fonts)及大小(Size)

圖片
首先我要感謝圓哥給我這個機會,才會有這篇的產生… 《圖1》SAS Log Window 上面這個畫面每次開SAS都會看到的畫面之一,看也看了10多年,到不太在意美醜了。 最近開始使用SAS的圓哥來說,這樣的字型和大小卻不太和他的胃口。我原本也覺得大約沒辦法調吧?假日下午閒來無事,一邊喝著紅茶,一邊吃著薯條三兄弟(最後一包….泣…),一邊和Google大神對話,大神說, 這有什麼難度 ,看看這些文章吧 (1) 。

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

圖片
好吧,等讀完整篇後,必須先承認這真的是小技巧…. 在安裝完SAS 9.3後很自然選擇開啟「SAS 9.3 (中文 (繁體))」,然後跑了幾程式後,看到中文化的報表,起初看到圖1的結果後,覺得不錯耶,對入門者很友善。 圖1

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

圖片
希望… 當我準備在( 原) 台中市 購屋後,也看一些待售的房屋後,一些打算購屋朋友(但還沒行動),就開始出現許多有趣的問題,例如 台中房價到底如何? 什麼那個地方的房屋不值這個價錢啦! 這個價錢都可以買獨棟房屋了! 房價有那麼貴嗎?應該是亂開的啦! 聽到這些問題後,我心中有許多的疑問,房價真有如朋友口中得那麼高呢,還是朋友們的 房價記憶 能停留在先前的年代? 在早期的年代,所有房價的訊息只能透過仲介,我自己看房子也愛問,這樣狀況的房屋應該會賣多少錢?多少錢買到才會合理?不管仲介給怎樣的數據我都很懷疑。 在內政部推不動產實價登記前,有內政部曾邀請房仲業者自行將售屋資訊提供出來(http://ehouse.land.moi.gov.tw/A0/A10/A1001/A1001A.aspx),這是在實價登錄前相對完整的房屋成交資訊了。 因此~我試圖對台中市房價的瞭解了。 -----------故事開始-------------

【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檔案了,但為什麼會失敗了?

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

圖片
  在SAS 9.3版明顯改變就是結果預設改為「HTML結果」(在視窗列下方英文名稱為Results Viewer),而不是傳統的報表結果。 HTML結果使用採用新的樣式Htmlblue,整體視覺效果相當亮眼,如果使用中文版,報表的說明也會改用中文,而非之前的英文。 但!使用下來卻發現一個問題,我沒辦法將HTML結果清除,報表就越來越長…越來越長…真的相當困擾。

「數字前補零」—以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了。

生日

又快到了這特殊的一天,自己內心暗暗提醒自己時間不多了。提醒自己應該去做更重要,更勇於面對自己的決定,這些決定只在心中徘徊著,卻永遠沒有行動過。 怎樣的決定?有幾個吧,來來回回的,在這十年間不斷的出現又消失。 『沒有其他人能為病人改變他的世界,如果他想要改變,就必須主動改變』 - 歐文.亞隆 如果把這一句話稍微推廣到我的世界,「沒有其他人能為我改變我的世界,如果我想要改變,就必須主動改變」。 其實我並無法確定是否因生日的來到而觸發這些敏感的開關。處於這個難得狀態,要好好珍惜,冷靜決定並行動。 『 日本諺語云:「知而不行,就是完全不知」』 - 歐文.亞隆

用SAS Macro表列九九乘法表 (SAS Macro入門教學)

圖片
表列出九九乘法表,我認為是很棒的迴圈入門,這個迴圈概念不論是用在SAS Data Step或SAS Macro都很適合。以下用SAS Macro做個簡單的說明。 這九九乘法程式就在下面了,有興趣的人可以直接丟到SAS執行看看,結果會在 LOG視窗 裡面喔!(在LOG,在LOG喔!!) %macro A99; %do A=1 %to 9;     %put -----A=&A.-----;     %do B=1 %to 9;         %let C=&A X &B;         %let D=%eval(&A * &B);         %put &C = &D ;     %end; %end; %mend A99; %A99;

過年

這一個年和前一個年有什麼不同,今年是我有記憶以來,留在老家最多天的一次,或許是有比較舒適的房間了,或許是決定讓自己好好放空。 對我來說,能見到久久沒見到的三姑媽可能是最特別…最特別的事情了。總以為長大了,過了自己的生活,但我似乎忘了這位曾經花了數十年陪伴我長大的長輩。其實我沒有忘,每年都有機會遇到她,但自己也沒有很積極去做,總有一個藉口,算了下次再說吧。 下次再說吧,這是一個恐怖的想法,以為事情都會 不變 ,腦海中浮出「下此再說吧」這種念頭,似乎是自己在逃避「死亡的恐懼」,正視死亡所發散出令人暈眩的光芒,或許會更珍惜與長輩相處的時間,與久沒相處的長輩見面或許沒有話題了,但那又如何?