楼主: zhufengyuan
1494 6

sas问题求教 [推广有奖]

  • 0关注
  • 0粉丝

硕士生

57%

还不是VIP/贵宾

-

威望
0
论坛币
263 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
644 点
帖子
52
精华
0
在线时间
272 小时
注册时间
2009-9-8
最后登录
2022-1-28

楼主
zhufengyuan 发表于 2013-7-23 12:51:57 |AI写论文
25论坛币
小弟有一sas问题请教各位sas达人(可能要用marco):
现在有以下数据:

城市  区域       板块          规交1     规交2
上海  宝山  大华板块         7号线    737,738
上海  宝山  大华板块          11号线    58,78
上海  嘉定  嘉定新城板块    3号线      嘉环二线
上海  嘉定  嘉定新城板块     11号线   

希望合并之后变为以下数据:


城市  区域       板块          规交1     规交2            规交3     规交4
上海  宝山  大华板块         7号线    737,738       11号线      58,78
上海  嘉定  嘉定新城板块    3号线      嘉环二线  11号线


原始数据一共将近3000条记录,所以用常规的merge束手无策,请各位大爷想想办法。小弟在此谢过!

最佳答案

ziyenano 查看完整内容

data ex; infile cards missover; input city $ field $ module $ traffic1 $ traffic2 $; cards; 上海 宝山 大华板块 7号线 737,738 上海 宝山 大华板块 11号线 58,78 上海 嘉定 嘉定新城板块 3号线 嘉环二线 上海 嘉定 嘉定新城板块 11号线 ; run; proc sql; create table ex1 as select * from (select city,field,module,traffic1 as traffic from ex union ...
关键词:SAS问题 问题求教 sas问题请教 marco Merge 上海 宝山 大华 记录 嘉定

本帖被以下文库推荐

  • · sas|主题: 59, 订阅: 14
每天进步一点点~~~

沙发
ziyenano 发表于 2013-7-23 12:51:58
data ex;
infile cards missover;
input city $ field $ module $  traffic1 $   traffic2 $;
cards;
上海  宝山  大华板块         7号线    737,738
上海  宝山  大华板块          11号线    58,78
上海  嘉定  嘉定新城板块    3号线      嘉环二线
上海  嘉定  嘉定新城板块     11号线   
;
run;

proc sql;
create table ex1 as
select * from
(select city,field,module,traffic1 as traffic from ex
union all
select city,field,module,traffic2 as traffic from ex)
order by city,field,module;
quit;



proc transpose data=ex1 out=ex2(drop=_name_);
by city field module;
var traffic;
run;

藤椅
playmore 发表于 2013-7-23 13:14:03
你这里同一个【城市+区域+板块】组合会出现多少次
如果最多出现两次的话,就比较好办
如果次数不定就有些麻烦了

只不过问这种问题的
如果不是最后表格展示需要
基本可以通过改进算法来避免这种转换
playmore邀请您访问ChinaTeX论坛!!!进入ChinaTeX论坛

板凳
zhufengyuan 发表于 2013-7-23 13:41:13
playmore 发表于 2013-7-23 13:14
你这里同一个【城市+区域+板块】组合会出现多少次
如果最多出现两次的话,就比较好办
如果次数不定就有些 ...
有几次出现几次……T.T
每天进步一点点~~~

报纸
TinyPP 发表于 2013-7-23 14:02:38
顶!!!!!!

地板
yzsxdlcc 发表于 2013-7-30 15:06:16
data ex;
infile cards missover;
length module $20.;
input city $ field $ module $  traffic1 $   traffic2 $;
cards;
上海  宝山  大华板块         7号线    737,738
上海  宝山  大华板块          11号线    58,78
上海  嘉定  嘉定新城板块    3号线      嘉环二线
上海  嘉定  嘉定新城板块     11号线   
;
run;

proc sort data=ex;
by city field module;
run;

data want;
set ex;
by city field module;
retain traffic_new1;
traffic_new=catx(',',of traffic1-traffic2);
if first.module then traffic_new1=traffic_new;
else traffic_new1=catx(',',traffic_new1,traffic_new);
if last.module then output;
drop traffic1 traffic2 traffic_new;
run;
从骨感走向丰满

文库

7
zhufengyuan 发表于 2013-7-30 17:24:32
yzsxdlcc 发表于 2013-7-30 15:06
data ex;
infile cards missover;
length module $20.;
thx!!!
每天进步一点点~~~

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-27 08:47