SAS中文论坛
标题:
如何从数据变量中提取相应的字段做统计?
[打印本页]
作者:
shiyiming
时间:
2009-6-24 11:26
标题:
如何从数据变量中提取相应的字段做统计?
数据集如下:
C_TRADEA2 C_IDENTI1
99900200000000116 110105196302222216
99900200000000256 110102196302233039
99900200000000272 110108790106002
99900200000000397 110105670330612
99900200000000421 110102390306151
99900200000000488 110102470516111
99900200000000496 110105590823542
99900200000000520 210103440225302
99900200000000579 110104351126170
99900200000000637 110108480304452
99900200000000686 110108620512548
99900200000000751 110102561129120
99900200000000777 370802197705313018
99900200000000843 110225550825657
99900200000000876 110102581021151
99900200000001015 110104630716202
99900200000001023 110104510510043
99900200000001213 110223500428106
99900200000001239 110108640206496
99900200000001254 110108660710232
99900200000001502 110104690821122
99900200000001775 110108681016978
99900200000001841 110102560526119
99900200000001866 610103195306103629
99900200000001924 110102701022041
99900200000001940 520102490906202
99900200000001965 450204196210111065
99900200000001981 110107511112272
99900200000002021 110104570916162
99900200000002195 110109197108030042
99900200000002351 110108490707372
99900200000002427 110106661103216
99900200000002492 110105192805050825
我要对C_IDENTI1进行字段提取然后做统计,如果变量长度为18为则取15-17位,如果变量长度为15位则取13-15位,取到的这个三位数,如果是奇数,代表“男性”,如果为偶数,代表“女性”,然后增加一列变量“性别”,对每一条记录都赋值“男性”或”女性“。请问如何做到?多谢!!
作者:
Qiong
时间:
2009-6-24 13:54
标题:
Re: 如何从数据变量中提取相应的字段做统计?
[code:1d74mr2p]
data vicky;
set temp;
if length(C_IDENTI1)=18 then temp=mod(substr(C_IDENTI1,15,3),2);
if length(C_IDENTI1)=15 then temp=mod(substr(C_IDENTI1,13,3),2);
if temp=0 then gender='男性';
if temp=1 then gender='女性';
drop temp;
label gender="性别";
run;[/code:1d74mr2p]
欢迎光临 SAS中文论坛 (https://mysas.net/forum/)
Powered by Discuz! X3.2