作者hanjing (自知者明)
站內Statistics
標題[程式] SAS取一個欄位的前兩個數字
時間Sun Apr 11 08:41:05 2010
[軟體程式類別]:
SAS
[程式問題]:
資料處理
[軟體熟悉度]:
低(1~3個月)
[問題敘述]:
我想新創一個欄位,而新的欄位是對應到某一欄位內開頭的前兩個數字
像是
ID 區域別
甲 2233
乙 2616
丙 3159
丁 6778
想得到的結果:
ID 區域別 新欄位
甲 2233 22
乙 2616 26
丙 3159 31
丁 6778 67
另外想請問,如果新欄位要的數字是某一欄位內開頭的前三個數字,指令是否一樣
非常感謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.224.106.242
1F:推 chien533:請查substr function 04/11 12:32
2F:→ wlsherica:SUBSTR 04/11 15:30
嗯
我試了以下指令
data c;
set a;
number=substr(left(region, 1 ,2));
run;
其中region就是我上述的區域别變數,而number就是新欄位
而加了left是因為google的時候有人提到要加left不然會抓不到
這個部份的問題我解決了,感謝兩位推文的前輩
但我又有問題了
就是我後來發現區域別當中有這種的
ID 區域別 新欄位
戊 231 2
也就是說,並非每個區域別內的數字都是四位數
有一些是三位數的
如果我用原來的方法,他會抓到23
但我只想抓到2
所以想再請問
有沒有變法用什麼指令讓區域別的231變成0231
這樣我就ok了
非常感謝
※ 編輯: hanjing 來自: 61.224.103.214 (04/13 21:10)
3F:推 imaltar:如果區域別是屬量的 0231同義於231 除非是屬值的 05/21 13:57