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

Hello,

I have one dataset that contains 1,000 observations and 50 variables - Data A.

I also have another dataset with only one observation and 30 variables - Data B.

The variables in Data B are parmeters that I want to add to all observations in Data A.

I tried to merge/set the two datasets but it only gives me first observation in A with the 1 observation in B and the other observations with missing value.

As You can see in the photo, Data A ends with variable P1000 and Data B starts with variable SM.

My question is, How do I dulplicate the one observation in B so all the observations in A will have it as a variable?

 

Thanks,

Matan.  

1 ACCEPTED SOLUTION

Accepted Solutions
Astounding
PROC Star

To add one observation in B to all observations in A:

 

data want;

if _n_=1 then set B;

set A;

run;

View solution in original post

5 REPLIES 5
PaigeMiller
Diamond | Level 26
Do the merge using a BY statement.
--
Paige Miller
Greisas
Fluorite | Level 6
Hi,
Thanks for the quick comment.
The problem is that Data A contains ID's, but Data B doesn't, so I can't use the BY statement.
Anyway, Astounding gave me a way.
Thanks again.
Astounding
PROC Star

To add one observation in B to all observations in A:

 

data want;

if _n_=1 then set B;

set A;

run;

Greisas
Fluorite | Level 6
Hi,
Thank you for the quick and helpful comments!

Kurt_Bremser
Super User

Consider these two methods:

data a;
input var1 var2 var3;
cards;
1 2 3
4 5 6
7 8 9
;
run;

data b;
input var4 var5;
cards;
10 11
;
run;

data want1;
set a;
_x_ = 1;
set b point=_x_;
run;

proc sql;
create table want2 as
select * from a,b;
quit;

The point=method rereads dataset b in every iteration, and therefore overrides the problem caused by the automatic "set to missing" that happens at the start of a datastep iteration.

SQL will always build a cartesian product on its own.

SAS Innovate 2025: Save the Date

 SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!

Save the date!

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
  • 5 replies
  • 4675 views
  • 7 likes
  • 4 in conversation