發表文章

目前顯示的是 5月, 2012的文章

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