楼主: yzzhang
1733 5

[原创博文] data步的hash对象能不能实现跨data步使用? [推广有奖]

  • 1关注
  • 0粉丝

已卖:93份资源

博士生

52%

还不是VIP/贵宾

-

威望
0
论坛币
1979 个
通用积分
2.9500
学术水平
2 点
热心指数
1 点
信用等级
0 点
经验
569 点
帖子
116
精华
0
在线时间
459 小时
注册时间
2009-2-17
最后登录
2025-12-15

楼主
yzzhang 发表于 2011-10-11 22:29:48 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
data步的hash对象能不能实现跨data步使用?
data a;
declare hash a();
..........
run;

能不能直接在b中使用?
data b;
..............
a.find();
............
run;

——————————————————————————————
如果不能,想问一下,如果有一个表有百万条记录,做成hash表会不会很慢?如果多处要用到,该怎么做?


不胜感谢了!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:data步 Data HASH Has find 记录

沙发
YueweiLiu 发表于 2011-10-12 01:08:31
要在同一个data步进行,可以用 do end; 来同时实现多个表的查询。
上百万的hash表还好吧。之前尝试过,速度跟具体查询方法和算法是有关系的。

藤椅
yzzhang 发表于 2011-10-12 09:21:17
非常感谢楼上的!
看来只有用do end 了!

板凳
爱萌 发表于 2011-10-12 18:12:43
很好的问题,hash是可以解决你的问题
最恨对我说谎或欺骗我的人

报纸
yzzhang 发表于 2011-10-13 09:08:13
爱萌 发表于 2011-10-12 18:12
很好的问题,hash是可以解决你的问题
版主好,
不知道有没有好方法解决这个问题?

地板
hongxx 发表于 2011-10-14 21:20:03
可以把hash对象用output方法输出到data数据集,h.output(dataset:'data1'),并在下次的DATA步中再读入,
hash对象是驻足于内存中的,因而尽量为其字段设置刚好满足的字段长度,比如数值变量假如都很小的话,用3.等已足够,否则默认是8.的。字符长度也不要声明过长。

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-2 08:30