BookmarkSubscribeRSS Feed
deleted_user
Not applicable
Hi,

I have two tables which have one common column.
First table have 222874 rows and 43 columns. Second table have 4537 rows and 8 columns.
Normally I use sql to merge them, you can see below:
===========================================================
proc sql;
create table RAWDB2 as select a.*, b.linea, rskod, rsshd, rstag from lib.zH41006
a, line b where a.urkod=b.urkod;
===========================================================
But it takes too much time. How can I use hash table for this issue.

Thanks,
sinan
2 REPLIES 2
polingjw
Quartz | Level 8
Take a look at this paper. It has some useful information about using duplicate keys to make SQL like joins with hash objects.

support.sas.com/rnd/base/datastep/dot/better-hashing-sas92.pdf
Ksharp
Super User
Code is not test.


[pre]
data result;
declare hash find(hashexp: 16);
find.definekey('urkod');
find.definedata('linea',' rskod',......);
find.definedone();

do until(last);
set line end=last;
find.add();
end;

do until(_last);
set lib.zh41006;
rc= find.find();
if rc=0 then output;
end;
stop;
run;




Ksharp

sas-innovate-2024.png

Available on demand!

Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.

 

Register now!

What is Bayesian Analysis?

Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.

Find more tutorials on the SAS Users YouTube channel.

Click image to register for webinarClick image to register for webinar

Classroom Training Available!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

Discussion stats
  • 2 replies
  • 1104 views
  • 0 likes
  • 3 in conversation