由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Statistics版 - SAS 问题
相关主题
完全不懂SAS,急请教一个问题[求助]count coverage days
请教proc sqlSAS快捷键问题
问一个proc sql的问题,多谢SAS问题求助
请问SAS大牛一个关于proc sql join一个sas里的join问题
SAS code helpHelp on a SAS question
SAS 编程问题 (有包子)SAS问题求教
SAS Proc SQL count问题珍惜生命,远离hsbc。
SAS question[合集] 讲讲最近来我们公司面试的一个小姑娘吧
相关话题的讨论汇总
话题: dt话题: date话题: start话题: end话题: 数据
进入Statistics版参与讨论
1 (共1页)
EA
发帖数: 3965
1
我有两组数据,
数据1
ID in_date
1 2/1/2000
1 3/1/2001
1 5/1/2005
数据2
ID start_dt   end_dt type
1 12/30/1999 2/22/2000 I
1 5/2/2005   5/3/2005 O
我想得到数据3
ID in_date  start_dt end_dt type
1 2/1/2000  12/30/1999 2/22/2000 I
1 3/1/2001
1 5/1/2005
基本上就是如果in_date在start_dt和end_dt之间就把他选上。问题是着是many to
many的merge,数据很大,怎么做比较有效呢?
s******r
发帖数: 1524
2
proc sql;
select a.id, a.start_dt,b.in_date, a.end_dt, a.type
from a inner join b
on a.id=b.id and b.in_date between a.start_dt and a.end_dt;
quit;run;
baozi please;run;

【在 EA 的大作中提到】
: 我有两组数据,
: 数据1
: ID in_date
: 1 2/1/2000
: 1 3/1/2001
: 1 5/1/2005
: 数据2
: ID start_dt   end_dt type
: 1 12/30/1999 2/22/2000 I
: 1 5/2/2005   5/3/2005 O

h********o
发帖数: 103
3
Is this what you want?
==================================
PROC SQL;
CREATE TABLE THREE AS
SELECT A.ID, IN_DATE, START_DT, END_DT, TYPE
FROM ONE AS A LEFT JOIN TWO AS B
ON A.ID = B.ID AND IN_DATE BETWEEN START_DT AND END_DT;
QUIT;
EA
发帖数: 3965
4
谢谢楼上的同学。发包子。做了一半,那另一半呢?我需要保留另外两个不在范围里的
数据啊。
l***a
发帖数: 12410
5
第二个不是改成left join了吗

【在 EA 的大作中提到】
: 谢谢楼上的同学。发包子。做了一半,那另一半呢?我需要保留另外两个不在范围里的
: 数据啊。

EA
发帖数: 3965
6
谢谢楼上的同学。知道怎么做了。谢谢!
1 (共1页)
进入Statistics版参与讨论
相关主题
[合集] 讲讲最近来我们公司面试的一个小姑娘吧SAS code help
SAS -proc transpose 急问!SAS 编程问题 (有包子)
问个SAS入门级的问题。。多谢。。SAS Proc SQL count问题
问个SAS 数据处理问题SAS question
完全不懂SAS,急请教一个问题[求助]count coverage days
请教proc sqlSAS快捷键问题
问一个proc sql的问题,多谢SAS问题求助
请问SAS大牛一个关于proc sql join一个sas里的join问题
相关话题的讨论汇总
话题: dt话题: date话题: start话题: end话题: 数据