15515504130 发表于 2017-10-29 01:26
我这有一个变量,是公司名称,有上百家公司,十几年的数据,想将公司变成名称变成数值型数据,但公司名称 ...
不知道我的理解是否正确,我按照我的理解写了代码,请参考:
有表A包含上百家公司的数据,一家公司对应多个观测,现在需要建立公司名称和数字序号1-n的映射关系。代码如下:
- data test;
- input com_name $ @@;
- datalines;
- q w e r t y u i o p a s d f g h j k l z x c v b n m
- w e a g h u z l j v z x c n n i u g r s d c e u
- ;
- run;
- proc print data=test;
- run;
- proc sort data=test out=test1 nodupkey;
- by com_name;
- run;
- data test1;
- set test1;
- n=_n_;
- run;
- proc sort data=test;
- by com_name;
- run;
- proc sort data=test1;
- by com_name;
- run;
- data work.merge;
- merge test(in=a) test1(in=b);
- by com_name;
- if a;
- run;
- proc sort data=work.merge;
- by n;
- run;
- proc print data=work.merge;
- run;
复制代码
希望帮助到你