BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
juanvg1972
Pyrite | Level 9

Hi,

 

I Know that a 'data/set' step work similar a 'union all' in proc sql

 

data taball;

set tab1 tab2;

run;

 

If there are dups rows in tab1 + tab2, rows that exits in both tables.., is there anyway yo remove dups in the data step?

 

Something similar to 'union' in proc sql

 

Thanks in advance,

1 ACCEPTED SOLUTION

Accepted Solutions
Haikuo
Onyx | Level 15

In general you will need an additional step, such as proc sort with nodupkey option. But if both of your incoming data are presorted by the keys, you may rub in dedup process in one data step as such:

 

data h1;
input a b;
cards;
1 11 
1 22 
2 12 
;

data h2;
input a b;
cards;
1 11 
2 16 
;

data want;
set h1 h2;
by a b;
if first.b;
run;

View solution in original post

1 REPLY 1
Haikuo
Onyx | Level 15

In general you will need an additional step, such as proc sort with nodupkey option. But if both of your incoming data are presorted by the keys, you may rub in dedup process in one data step as such:

 

data h1;
input a b;
cards;
1 11 
1 22 
2 12 
;

data h2;
input a b;
cards;
1 11 
2 16 
;

data want;
set h1 h2;
by a b;
if first.b;
run;

hackathon24-white-horiz.png

The 2025 SAS Hackathon has begun!

It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.

Latest Updates

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 1 reply
  • 1368 views
  • 0 likes
  • 2 in conversation