作者minna05 (take it easy)
看板Statistics
标题[程式] SAS 两个档案合并
时间Mon May 17 20:35:56 2010
[软体程式类别]: SAS
[程式问题]:档案合并
[软体熟悉度]:
低(1~3个月)
[问题叙述]:
假设目前一个档案是
data x;
input id $ score;
cards;
a 85
a 60
b 90
c 87
c 100
c 75
;
另一个档案是只有筛好的id档
data y;
input id $ point;
cards;
b 1
c 2
;
想做出合并後 data z的结果是
b 90 1
c 87 2
c 100 2
c 75 2
语法该如何写呢?
注:data b中的id非常多笔,无法用逐笔key ^^"
谢谢大家 :)
[程式范例]:
-----------------------------------------------------------------------------
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 124.12.7.82
1F:推 wlsherica:merge? 05/17 20:44
※ 编辑: minna05 来自: 124.12.7.82 (05/17 20:57)
2F:→ minna05:如果用merge x y的话,id a 还是存在,只是a的point变成遗漏 05/17 20:58
3F:→ minna05:值~所以想请问有没有用data y档案就直接剔除无法对应id的 05/17 20:59
4F:→ minna05:方法...谢谢^^ 05/17 20:59
5F:→ ASD332:merge x y (in = a) ; by id ; if a ; 05/17 21:11
6F:→ ASD332:善用 in 05/17 21:11
7F:推 wlsherica:没错 用in即可达到你的目的 05/17 21:16
8F:→ minna05:请问用in的方法是否需要逐笔key id? data x中的id a只是举 05/17 21:18
9F:→ minna05:例,实际上data x中有非常多笔需要排除的id ^^" 05/17 21:18
10F:→ minna05:所以我想学会用data y中的id 去排除data x 所没有对应到的 05/17 21:20
11F:→ ASD332:逐笔key? 你要不要就你这篇的范例sas跑看看 05/17 21:20
12F:→ minna05:id,并且在两个档案兼有的id中合并其他栏位~谢谢^^ 05/17 21:21
13F:→ ASD332:看x、y都有写 in 、或挑一个写 看有啥差别 你应该就会用了 05/17 21:21
14F:→ ASD332:ㄜ... 我上面 in = a 是举例用的 a可以用其它任何东西取代 05/17 21:25
15F:→ ASD332:希望原po没有误会 = = 05/17 21:25
16F:→ minna05:我懂了!!!谢谢大家QQ 果然还是跑过一次做中学最快^^ 05/17 21:27
17F:→ minna05:感谢提供语法&教学的版友~ 05/17 21:27
18F:推 wlsherica:祝你好运优~ 05/17 21:28