DATA Step, Macro, Functions and more

Reg:doing by Hash Keys

Accepted Solution Solved
Reply
Frequent Contributor
Posts: 140
Accepted Solution

Reg:doing by Hash Keys

Hi in table table1 and table2 i want to create table l3 from table1 and table2 tables based on table2.id2 =table.id
i want to do it on hash keys

data table1;
input id id2;
cards;
1 2
2 3
3 4
4 5
run;

data table2;
input id id2;
cards;
2 3
run;

output
id id2
3 4


Accepted Solutions
Solution
‎01-02-2012 02:33 AM
Frequent Contributor
Posts: 140

Re: Reg:doing by Hash Keys

Thqs Ksharp i know you will Reply

View solution in original post


All Replies
Frequent Contributor
Posts: 140

Re: Reg:doing by Hash Keys

I can do same in joins

proc sql;
create table l3 as select a.id,a.id2 from table1 as a right join table2 as b
on a.id=b.id2;
quit;
proc print;run;

Super User
Posts: 9,681

Re: Reg:doing by Hash Keys

OK. Easy.

Assuming your id2 in table2 has no replicated value.

data table1;
input id id2;
cards;
1 2
2 3
3 4
4 5
;
run;

data table2;
input id id2;
cards;
2 3
;
run;

data want;
 if _n_ eq 1 then do;
  if 0 then set table2;
  declare hash ha(dataset:'table2', hashexp:10);
   ha.definekey('id2');
   ha.definedone();
 end;
 set table1;
  if ha.check(key:id)=0 then output;
run;



Ksharp

Solution
‎01-02-2012 02:33 AM
Frequent Contributor
Posts: 140

Re: Reg:doing by Hash Keys

Thqs Ksharp i know you will Reply

☑ This topic is SOLVED.

Need further help from the community? Please ask a new question.

Discussion stats
  • 3 replies
  • 152 views
  • 3 likes
  • 2 in conversation