boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Statistics版 - 一个实际应用的SAS问题
相关主题
Dataset merge的一个问题
问个效率问题 SQL vs data step,大数据量
求一段SAS code
SAS CODE求助
SAS data merge求助
新手请SAS合并数据集问题
关于SAS interview
在SAS中不用proc sql的情况下实现inequality join
SAS 问题:关于比较variable 包子答谢
关于proc sql left join的一个问题
相关话题的讨论汇总
话题: dataset话题: variable话题: provnum话题: standard话题: merge
进入Statistics版参与讨论
1 (共1页)
z**********i
发帖数: 12276
1
一个DATASET是标准参照,另外4个是4个季度的.他们都共有一个UNIQUE VARIABLE在这5
个DATASET中.
我想看一下,这4个季度与标准参照的差异,并且,看看这4个季度间的差异.
打算MERGE这5个DATASET.
z**********i
发帖数: 12276
2
当我用PROC SQL时,发现,"THE EXECUTION OF THIS QUERY INVOLVES PERFORMING ONE
OR MORE CARTESIAN PRODUCT JOINS THAT CAN NOT BE OPTIMIZED."并且,很长时间也没
有完成.
请大家给点建议如何找到多个DATASET的不同,他们共同的VARIABLE是PROVNUM,并且,我
只要看这一个VARIABLE,其他的,不需要.
多谢!!

5

【在 z**********i 的大作中提到】
: 一个DATASET是标准参照,另外4个是4个季度的.他们都共有一个UNIQUE VARIABLE在这5
: 个DATASET中.
: 我想看一下,这4个季度与标准参照的差异,并且,看看这4个季度间的差异.
: 打算MERGE这5个DATASET.

p********r
发帖数: 1465
3
data final;
merge standard(in=a) q1(in=b) q2(in=c) q3(in=d) q4(in=f);
by UNIQUE VARIABLE;
if a and not b then ...;
if a and not c then ...;
if a and not d then ...;
run;
z**********i
发帖数: 12276
4
多谢回复!
后来,我是这样做的。
data standarda;
set standard;
provnum_standard=provnum;
keep provnum provnum_standard;
run;
....
....
data total;
merge standarda q1a q2a q3a q4a;
by provnum;
run;
然后,我用proc sql; count.这时,如果count是5,说明他们都与standard相同,如果
小于,拿出来做为单独的dataset看看。
开始,想直接用sql,发现不行,太慢。
感觉方法很笨,实际工作中就是这些基本的问题。

【在 p********r 的大作中提到】
: data final;
: merge standard(in=a) q1(in=b) q2(in=c) q3(in=d) q4(in=f);
: by UNIQUE VARIABLE;
: if a and not b then ...;
: if a and not c then ...;
: if a and not d then ...;
: run;

p********r
发帖数: 1465
5
那这样岂不是会有N种情况N个不同的dataset?
p********a
发帖数: 5352
6
用STANDARD LEFT JOIN 4 quarters然后用CASE WHEN a.prov_num = b.prob_num then
0 else 1 end as q1diff, ...q4diff 不就行了?
z**********i
发帖数: 12276
7
对。
95%+都是在5个DATASET里都有,个别的出现在其中的一个或几个quarter.
但还有些情况出现在个别的quarter里,但没有在standard里,为什么呢?
所以,只要不同的就列出来,然后,看看,为什么
多谢回复!

【在 p********r 的大作中提到】
: 那这样岂不是会有N种情况N个不同的dataset?
z**********i
发帖数: 12276
8
多谢回复!
发现,sql比data step还是慢很多,在merge的时候。
另外,我也想看看,在4 quarters出现的,却没有包含在standard里的。
或许可以变成full join.

then

【在 p********a 的大作中提到】
: 用STANDARD LEFT JOIN 4 quarters然后用CASE WHEN a.prov_num = b.prob_num then
: 0 else 1 end as q1diff, ...q4diff 不就行了?

1 (共1页)
进入Statistics版参与讨论
相关主题
关于proc sql left join的一个问题
SAS Question
求教 SAS base 123 Q 16
关于merge data的问题!!!
请问SAS大牛一个关于proc sql join
[合集] 问个SAS的问题
A SAS problem
in =option的一道题
请问R Code和 Matlab Code 思路是否近似?
求问一道SAS adv 题
相关话题的讨论汇总
话题: dataset话题: variable话题: provnum话题: standard话题: merge