作者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