- 阅读权限
- 255
- 威望
- 0 级
- 论坛币
- 2373 个
- 通用积分
- 7.1714
- 学术水平
- 148 点
- 热心指数
- 159 点
- 信用等级
- 123 点
- 经验
- 266651 点
- 帖子
- 515
- 精华
- 0
- 在线时间
- 2446 小时
- 注册时间
- 2013-7-17
- 最后登录
- 2023-8-17
|
- data test;
- input stkcd $8. year name $ post : $100.;
- cards;
- 000001 2010 a1 总经理、董事长
- 000001 2011 a1 副总经理
- 300243 2011 a3 董事长、总经理、财务总监
- 300243 2012 a3 财务总监、董事长、总经理
- 300243 2013 a4 财务总监、总经理助理
- 300244 2014 a5 总经理、董事、总经理
- 300245 2014 a6 总经理
- ;
- /*问题 1*/
- data t1;
- set test;
- where indexw(post,"总经理"," 、");
- run;
- /*问题 2, 3*/
- * post 变量顺序;
- proc format;
- invalue ord "董事长"=1
- "董事"=2
- "总经理"=3
- "副总经理"=4
- "总经理助理"=5
- "财务总监"=6;
- run;
- * 处理数据;
- data t21;
- set test;
- i=1;
- do until(scan(post,i,'、')="");
- _post=scan(post,i,"、");
- __post=input(_post,ord.);
- output;
- i+1;
- end;
- keep stkcd year name _post __post;
- run;
- proc sql;
- create table t22 as
- select distinct * from t21
- order by stkcd, year, name, __post;
- quit;
- proc transpose data=t22 out=t23(drop=_:);
- by stkcd year name;
- var _post;
- run;
- data t2;
- set t23;
- post=catx("、",of col:);
- drop col:;
- run;
复制代码
|
|