SAS中文论坛

标题: 求教 sas hash 在分类数据中的用法 [打印本页]

作者: shiyiming    时间: 2011-2-21 11:33
标题: 求教 sas hash 在分类数据中的用法
我现在有张想放进hash 里的表,他是个分类表,就是在某一类别中,key才是唯一的。
由于hash表联接时key要唯一,怎样可以不用把此表按照类别拆分成一个一个小表后再连
因为我的表很大,类别比较多,用sql或拆分后不是很慢就是生成很多张表。

比如 表A
kind     id
a          1
a          2
b          1
b          3
c          2
c          3

表B
id     amt
1       50
2       40
2       20
3       30


我想要得到kind(类别)   a   b   c 类下所有id 的总amt额。。想用hash 做  求教高手
十分感谢。。。sql   join  再group by实在太慢了。。
作者: shiyiming    时间: 2011-2-22 01:14
标题: Re: 求教 sas hash 在分类数据中的用法
既然你敢把A表放进Hash, 那么,你的A表并不大,问题出在B表。
先group B表然后再join, 然后group A.
当然了,如果你的B表真的到了T级,那就另当别论了,采用hash或什么的。不过不管怎么样,都是先从B下手。
[code:1dlw7rx8]
select kind
        , sum(amt) as amt
from A
      , (select id
                 , sum(AMT) as amt
         from B
         group by id
         )  B
where a.ID=b.ID
group by kind
;
[/code:1dlw7rx8]




欢迎光临 SAS中文论坛 (http://mysas.net/forum/) Powered by Discuz! X3.2