经管之家App
让优质教育人人可得
立即打开
全部版块
我的主页
›
论坛
›
数据科学与人工智能
›
数据分析与数据科学
›
SAS专版
求最优算法:累计相乘
楼主
peijiamei
5536
12
收藏
2010-09-27
悬赏
50
个论坛币
未解决
code
date1
date2
r
1
1
1
0.1
1
1
2
0.2
1
2
1
0.3
1
2
2
0.4
2
1
1
0.1
2
1
2
0.2
2
2
1
0.3
2
2
2
0.5
根据上面的表格生成下面的表格
其中rr是相同date2 的数据的累计相乘
code
date1
rr
1
1
0.02
1
2
0.12
2
1
0.02
2
2
0.15
注意:由于数据量很大(几亿的数据量),所以求优化的算法。
sql语句尽量不要!proc sort也会效率很低。
向各位高手致敬!
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
全部回复
沙发
pobel
2010-9-27 15:42:05
抛个砖。。。
data test;
input code date1 date2 r ;
cards;
2 1 1 0.1
2 1 2 0.2
2 2 1 0.3
2 2 2 0.5
1 1 1 0.1
1 1 2 0.2
1 2 1 0.3
1 2 2 0.4
;
run;
proc tabulate data=test out=aa;
class code date1 r;
table code,date1,r;
run;
data wanted;
set aa;
by code date1;
retain rr;
keep code date1 rr;
if first.date1 then rr=1;
rr=rr*(r**N);
if last.date1 then output;
run;
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
藤椅
soporaeternus
2010-9-27 16:52:18
我只想到sql的求和和data步累乘
静等其他好的算法......
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
板凳
hopewell
2010-9-27 21:42:18
原始数据集按code,date1排好序了吗?
date2起什么作用?是说每个code,date1组只有固定的2条记录吗?
计算后的结果数据集大概能有多少条记录?
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
报纸
crackman
2010-9-27 22:07:49
我觉得SAS是做不出来的
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
地板
peijiamei
2010-9-28 10:29:16
4#
hopewell
原始数据集按code,date1排好序了吗?
没有进行排序,不过已经是group的。
date2起什么作用?是说每个code,date1组只有固定的2条记录吗?
date2是二级时间,在进行计算的时候实际上是没有用处的。
每个code,date1组有很多条记录,不固定。
计算后的结果数据集大概能有多少条记录?
总的数据有5千万,最后能剩下四分之一。(由于亿级数据处理不现实,所以拆分为7个文件,实际上总的数据有5千万*7)
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
点击查看更多内容…
7楼
crackman
2010-9-28 10:42:42
DATA步
跑几个小时应该没得问题
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
8楼
hopewell
2010-9-28 11:14:59
不太确定,这种数量级的数据已经远远超出了我的认知水平,祝你好运.
复制代码
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
9楼
soporaeternus
2010-9-28 11:36:29
ERROR: 内存失败时,Hash 对象添加了 14942192 个项。
FATAL: 内存不足,无法执行 DATA 步程序。 EXECUTION 过程中止。
NOTE: SAS 系统由于内存不足而停止了对该步的处理。
NOTE: 从数据集 C.A 读取了 74710962 个观测。
NOTE: “DATA 语句”所用时间(总处理时间):
实际时间 8:52.00
CPU 时间 1:51.92
hash的速度果然很快,但是对内存容量可能要求很高,我是1G内存的PC,悲剧了......
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
10楼
soporaeternus
2010-9-28 11:53:39
复制代码
我的测试数据是这样的
sql执行时间是
NOTE: “PROCEDURE SQL”所用时间(总处理时间):
实际时间 49:08.34
CPU 时间 12:20.10
应该是这个问题执行效率的一个上限吧
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
11楼
hopewell
2010-9-28 12:29:19
把code, date1定义为字符变量能节省点内存不?
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
12楼
hongxx
2010-9-29 22:12:14
分拆多个数据集吧。这样效率估计更快一点。
data步是我能想到的方法。
不知建索引能否有帮助。
楼主的数据是啥行业的,金融?不像有这么几亿的东西。
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
13楼
arnoldsw
2012-8-23 18:56:52
group的是说每种code和date1的组合都是连着的?
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
相关推荐
如何根据第一个表格生成第二个表格?
表的生成!求高手
表格生成问题?
表的合并(填补缺失值)。
表格合并(二合并一)
[求助求助]一个类似SAS因子统计分组的R技巧
关于调查数据中的顶端编码(top-coded)?
指数建立
sas 如何用sql语句查询符合条件的最大值
请大神用简单的方法谢谢这个
栏目导航
SAS专版
休闲灌水
宏观经济学
创业论坛
爱问频道
学术道德监督
热门文章
我该如何记住你?智能体记忆系统的演化之路
2026年Agent领域十大趋势判断
低空经济发展报告(2025-2026)
202601-中国智能驾驶行业趋势白皮书
到2032年全球RJ11连接器市场规模将接近12.4 ...
油罐车加油系统,全球前10强生产商排名及市 ...
无上高明的“无为”“无住”哲学在传统中国
现代数学基础 现代极限理论及其在随机结构中 ...
高教现代数学基础15 有限群表示论 曹锡华,时 ...
【25更新,详细,热点指标!】2002-2025省级ZF ...
推荐文章
2026JG学术冬训营:从Stata初高到Python机器 ...
【必看】【本版版规,欢迎发悬赏贴求助】
26年寒假天津站|Gemini论文写作&数据分析 ...
关于如何利用文献的若干建议
关于学术研究和论文发表的一些建议
关于科研中如何学习基础知识的一些建议 (一 ...
一个自编的经济学建模小案例 --写给授课本科 ...
AI智能体赋能教学改革: 全国AI教育教学应用 ...
2025中国AIoT产业全景图谱报告-406页
关于文献求助的一些建议
说点什么
分享
微信
QQ空间
QQ
微博
扫码加好友,拉您进群
各岗位、行业、专业交流群