SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 1477|回复: 11
打印 上一主题 下一主题

两个数据集如何完成匹配的问题,大数据量

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2009-4-29 16:16:03 | 只看该作者

两个数据集如何完成匹配的问题,大数据量

各位高手,请教:
我有两个数据集,集A变量为name、F_code、tradeacco、date、share,数据量56万笔;
               集B变量为fundacco、name、idNo.、netNo.、tradeacco,数据量203万笔;
其中name和tradeacco是可以对应的,我想得到的结果是:集C变量为name、F_code、tradeacco、date、share、diNo.(即集A用name和tradeacco在集B中搜索匹配项,然后匹配到原集A新增变量,产生集C),请问如何实现?
多谢。
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2009-4-29 21:13:30 | 只看该作者

Re: 两个数据集如何完成匹配的问题,大数据量

1. sort both dataset A and B by name and tradeacco;
2. merge A and B by name and tradeacco

as my understanding, that is realistic only when name * tradeacco is unique in A
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
板凳
 楼主| 发表于 2009-4-30 11:01:01 | 只看该作者

Re: 两个数据集如何完成匹配的问题,大数据量

谢谢楼上的,请问其他高手,有没有更直观的解决方案?
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
地板
 楼主| 发表于 2009-4-30 11:36:24 | 只看该作者

Re: 两个数据集如何完成匹配的问题,大数据量

[code:3ggjjn7w]
proc sql noprint;
create table c as
select a.name
      ,a.F_code
      ,a.tradeAcco
      ,a.date
      ,a.share
      ,b.idNo
from a
    ,b
where a.name=b.name
  and a.tradeAcco=b.TradeAcco
;
quit;
[/code:3ggjjn7w]
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
5#
 楼主| 发表于 2009-5-4 15:48:55 | 只看该作者

Re: 两个数据集如何完成匹配的问题,大数据量

我先试试楼上的,多谢多谢!
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
6#
 楼主| 发表于 2009-5-5 17:01:59 | 只看该作者

Re: 两个数据集如何完成匹配的问题,大数据量

3楼大侠提供的好像不行……
我的A数据集中,有多条记录是相同的(必须保留),而B数据集中数据是唯一的,要用A当中的关键字段去B集中查找到复核要求的那个变量,然后把它加在A集对应记录的后面做新增变量,请问是否有高手可以提供解决办法,急……多谢!
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
7#
 楼主| 发表于 2009-5-5 21:31:13 | 只看该作者

Re: 两个数据集如何完成匹配的问题,大数据量

[code:1ia74br0]
proc sql noprint;
create table c as
select a.name
      ,a.F_code
      ,a.tradeAcco
      ,a.date
      ,a.share
      ,b.idNo
from a
left join b
on  a.name=b.name
  and a.tradeAcco=b.TradeAcco
;
quit;
[/code:1ia74br0]
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
8#
 楼主| 发表于 2009-5-7 09:45:24 | 只看该作者

Re: 两个数据集如何完成匹配的问题,大数据量

我的两个数据集是已导入sas数据库的,名称为mylib.icbctime和mylib.icbccustid,不是简单的a和b,请教高手。
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
9#
 楼主| 发表于 2009-5-7 10:23:26 | 只看该作者

Re: 两个数据集如何完成匹配的问题,大数据量

不行,它们必须叫a和b,赶紧改名吧。
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
10#
 楼主| 发表于 2009-5-8 14:30:32 | 只看该作者

Re: 两个数据集如何完成匹配的问题,大数据量

多谢多谢,已经成功解决了,非常方便,谢谢!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|小黑屋|手机版|Archiver|SAS中文论坛  

GMT+8, 2026-2-5 15:59 , Processed in 0.081310 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表