由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Statistics版 - 请教一个proc sql的问题
相关主题
求教SAS问题包子请教,时间格式问题
请教一个sas的sort date变量问题一道sas题 在线求解 50个包子答谢 急啊
clinical trail sas 题目求解Help on SAS: how to reconstruct records
asking for paper##问一个SAS de 问题##
SAS时间处理求教One simple question about input and length in sas
【包子】date 变量 赋值问题请问sas里有没有一个自动分week的功能?
sas date variable exchange大家练练手吧,挺有意思的一道题
请教一个SAS选择性输出数据的问题,急,有包子今天和一个阿三聊segmented logistic regression
相关话题的讨论汇总
话题: date9话题: stop话题: start话题: 102话题: ae
进入Statistics版参与讨论
1 (共1页)
x***I
发帖数: 91
1
最近在看sas programing in pharmaceutical industry.
看到作者用proc sql合并datasets,可是不知道为什么,最后一个记录出不全。
自己运行一下他的程序也是一样的,我用的是SAS9.2.
这个有什么办法解决么。
Program 4.8 Performing a Many-to-Many Join with PROC SQL
**** ADVERSE EVENTS;
data aes;
informat ae_start date9. ae_stop date9.;
input @1 subject_id $3.
@5 ae_start date9.
@15 ae_stop date9.
@25 adverse_event $15.;
datalines;
101 01JAN2004 02JAN2004 Headache
101 15JAN2004 03FEB2004 Back Pain
102 03NOV2003 10DEC2003 Rash
102 03JAN2004 10JAN2004 Abdominal Pain
102 04APR2004 04APR2004 Constipation
;
run;
**** CONCOMITANT MEDICATIONS;
data conmeds;
informat cm_start date9. cm_stop date9.;
input @1 subject_id $3.
@5 cm_start date9.
@15 cm_stop date9.
@25 conmed $20.;
datalines;
101 01JAN2004 01JAN2004 Acetaminophen
101 20DEC2003 20MAR2004 Tylenol w/ Codeine
101 12DEC2003 12DEC2003 Sudafed
102 07DEC2003 18DEC2003 Hydrocortizone Cream
102 06JAN2004 08JAN2004 Simethicone
102 09JAN2004 10MAR2004 Esomeprazole
;
run;
**** MERGE MEDICATIONS WITH ADVERSE EVENTS;
proc sql;
create table ae_meds as
select a.subject_id, a.ae_start, a.ae_stop, a.adverse_event,
c.cm_start, c.cm_stop, c.conmed from
aes as a left join conmeds as c
on (a.subject_id = c.subject_id) and
( (a.ae_start <= c.cm_start <= a.ae_stop) or
(a.ae_start <= c.cm_stop <= a.ae_stop) or
((c.cm_start < a.ae_start) and (a.ae_stop < c.cm_stop)) );
quit;
r**********d
发帖数: 510
2
04APR2004 04APR2004 doesnt meet the dates check condition left join.
m*********n
发帖数: 413
3
没细看,应该跟版本无关
s******r
发帖数: 1524
4
what do you mean "不全". I run it and no problem.

【在 x***I 的大作中提到】
: 最近在看sas programing in pharmaceutical industry.
: 看到作者用proc sql合并datasets,可是不知道为什么,最后一个记录出不全。
: 自己运行一下他的程序也是一样的,我用的是SAS9.2.
: 这个有什么办法解决么。
: Program 4.8 Performing a Many-to-Many Join with PROC SQL
: **** ADVERSE EVENTS;
: data aes;
: informat ae_start date9. ae_stop date9.;
: input @1 subject_id $3.
: @5 ae_start date9.

r********n
发帖数: 7441
5
对这个不熟,一般其他语言类似情况可以考虑是否buffer全部写入硬盘了没有
x***I
发帖数: 91
6
SQL输出如下。 我的问题是Constipation没有missing value,如果用data step做合并
,就不会出这样的问题。
subject_
Obs id ae_start ae_stop adverse_event cm_start cm_stop
conmed
1 101 16071 16072 Headache 16071 16071
Acetaminophen
2 101 16071 16072 Headache 16059 16150
Tylenol w/ Codeine
3 101 16085 16104 Back Pain 16059 16150
Tylenol w/ Codeine
4 102 16073 16080 Abdominal Pain 16079 16140
Esomeprazole
5 102 16073 16080 Abdominal Pain 16076 16078
Simethicone
6 102 16012 16049 Rash 16046 16057
Hydrocortizone Cream
7 102 16165 16165 Constipation . .
a****t
发帖数: 1007
7
我来尝试答一下,看是否回答了你的问题。
程序中你用了 left join,如果你改成join或者后面改成where statement,就不会有
missing value了。
data step 其实也是可能会发生这种问题的,如果你只用merge就不会,其他的
combination还是会发生的。
如果回答了你的问题,baozi please...






【在 x***I 的大作中提到】
: SQL输出如下。 我的问题是Constipation没有missing value,如果用data step做合并
: ,就不会出这样的问题。
: subject_
: Obs id ae_start ae_stop adverse_event cm_start cm_stop
: conmed
: 1 101 16071 16072 Headache 16071 16071
: Acetaminophen
: 2 101 16071 16072 Headache 16059 16150
: Tylenol w/ Codeine
: 3 101 16085 16104 Back Pain 16059 16150

1 (共1页)
进入Statistics版参与讨论
相关主题
今天和一个阿三聊segmented logistic regressionSAS时间处理求教
Help needed for a SAS question【包子】date 变量 赋值问题
打算下个月考sas basesas date variable exchange
一个sas问题,谢谢请教一个SAS选择性输出数据的问题,急,有包子
求教SAS问题包子请教,时间格式问题
请教一个sas的sort date变量问题一道sas题 在线求解 50个包子答谢 急啊
clinical trail sas 题目求解Help on SAS: how to reconstruct records
asking for paper##问一个SAS de 问题##
相关话题的讨论汇总
话题: date9话题: stop话题: start话题: 102话题: ae