SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 1071|回复: 9
打印 上一主题 下一主题

数据集的比较

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2004-11-25 19:06:05 | 只看该作者

数据集的比较

有两个字段完全相同的数据集a,b,想对a,b数据集做比较,将a中所有在b中出现的record删除,请问如何做?
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2004-11-25 21:30:19 | 只看该作者

呵呵

这个贴子和置顶的程序员测试的贴子差不多一样。
不同的是,这个贴子要求的不只是一个ID相同,而是所有字段相同。
还有一点不同的是,这个贴子条件不明确,比如A集中有多个记录与B集全相同的,是删一个还是全删,还是删与B集数目相等的。
如果这些明确了,解决办法也就差不多有了。
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
板凳
 楼主| 发表于 2004-11-25 22:50:32 | 只看该作者

to ahuige

如果有多条记录匹配的话,删与B集中的数目相等的record。
我想知道是不是有比较两个数据集,返回包含相同或不同record的函数。
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
地板
 楼主| 发表于 2004-11-25 23:56:07 | 只看该作者

那如果B里面的纪录比A里面的多呢

条件不是很清楚

你能不能把条件罗列一下,或者举个例子
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
5#
 楼主| 发表于 2004-11-26 01:00:18 | 只看该作者

have a try anyway

我理解你的意思是如果BASE的比TRAN多,则把与TRAN相等的OBS删除。如果BASE比TRAN少或相等,则把BASE的全部删除。如果BASE的在TRAN中不存在,则保存,如果TRAN的在BASE中不存在,则BASE继续
是这个意思吗
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
6#
 楼主| 发表于 2004-11-26 09:32:37 | 只看该作者

to smartie

对的,是这个意思。
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
7#
 楼主| 发表于 2004-11-26 10:57:38 | 只看该作者

手头没有机器

大概的意思 使用
proc sql里面的 except all  
PROC SQL;
CREATE TABLE BASE AS
SELECT BASE.*
FROM BASE
EXCEPT ALL
SELECT TRAN.*
FROM TRAN

QUIT;

你试试
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
8#
 楼主| 发表于 2004-11-26 12:05:26 | 只看该作者

to smartie

ok, 好用的,谢谢。
是不是sas里面涉及到几个数据集之间的操作,好用的方法就是proc sql了?
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
9#
 楼主| 发表于 2004-11-26 14:08:21 | 只看该作者

呵呵

想不到SAS能够支持这种不是常规的SQL语句.
不错,有意思,得好好学学.
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
10#
 楼主| 发表于 2004-11-26 21:48:08 | 只看该作者

to ahuige

SAS SQL 有时候确实和想的不一样。前段时间无意中看到EXCEPT ALL和
EXCEPT 的区别,吓出一身冷汗,赶紧翻自己的程序,还好没用。侥幸逃过一劫。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-8 15:00 , Processed in 0.069981 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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