SAS中文论坛

标题: 如何得出如下顺序的结果 [打印本页]

作者: shiyiming    时间: 2004-8-23 20:24
标题: 如何得出如下顺序的结果
有两数据集
tem1:
id dec
1 a
2 b
3 c
4 d

tem2:
id rat
3 0.5
1 4.6
要将tem2中记录加入tem1中id相同的dec字段,变为数据集tem3:
id rat dec
3 0.5 c
1 4.6 a
(注意tem3中的id顺序与tem2相同)
我使用宏实现的(因为要保证tem2中的记录的顺序),不知直接用sql该如何实现?
作者: shiyiming    时间: 2004-8-24 14:06
标题: re:如何得出如下顺序的结果
想要保持tem2的顺序,用sql很难实现,因为sql结果都是排过序的。
作者: shiyiming    时间: 2004-8-24 17:48
标题: re
sql一步是很难实现
我觉得先在tem2中加一个id_new:1,2,3.....,把它的顺序固定好
然后再和tem1按id做merge,之后再对id_new排序恢复id的顺序
这也很不算麻烦吧

当然也可以用sql代替merge
作者: shiyiming    时间: 2004-8-25 14:53
标题: re
但我发现用如下程序,在两数据集记录数相同的情况下,有是(并不是每次)可以的到我要的结果
[code:07644]proc sql;
  create table tem3 as
  select tem2.id,tem1.dec,tem2.rat
  from tem2,tem1
  where tem2.id=tem1.id;
quit;[/code:07644]




欢迎光临 SAS中文论坛 (http://mysas.net/forum/) Powered by Discuz! X3.2